我是一个java的电话采访面试官问了几个有关java异常的问题,他问的一个问题是如何在项目中全局处理未经检查的异常? 现在为了这个,我必须通过在java中定义自定义错误处理程序来思考片刻,但这不是正确的答案,您能否告知我们如何在项目中全局处理未经检查的异常。在项目中全局处理未经检查的异常
回答
我不会读心术,但面试官很可能问的异常处理程序:
- 您可以通过调用静态方法
Thread.setUncaughtExceptionHandler
设置一个全球性的处理程序,或 - 您可以设置thread-通过在单个线程上调用
setUncaughtExceptionHandler
或 - 如果您位于线程组中,则可以覆盖
ThreadGroup.uncaughtException()
方法(ThreadGroup
实现UncaughtExceptionHandler
接口)。
+1你不是一个心灵读者,但你的思想绝对是神奇的:-) – 2014-09-06 04:12:17
@dasblinkenlight谢谢很多完美扩充 – user3875672 2014-09-06 05:29:21
您可以设置UnCaughtExceptionHandler
每Thread
可能是你的采访是在寻找它来处理主线程
+1好合理的答案。 – 2014-09-06 04:12:43
我会接受这个答案。 – 2014-09-06 05:02:24
可能你的面试官看着['Thread.setUnCaughtExceptionHandler()'](HTTP:/ /docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#setUncaughtExceptionHandler%28java.lang.Thread.UncaughtExceptionHandler%29) – 2014-09-06 04:07:27