kat*_*uro 1 java error-handling
我知道那Error是Throwable(所以它可以处理)并且Error处理不是最佳实践,但假设我们需要捕获所有Error.
一般来说可能吗?我是说可以出现在守护程序线程中的错误呢?他们将崩溃jvm,我不会知道它.
Error即使我用try-catch包围main(String ... args),我还能错过吗?
您可以通过Thread.setUncaughtExceptionHandler()捕获未捕获的异常
设置当线程由于未捕获的异常而突然终止时调用的默认处理程序,并且没有为该线程定义其他处理程序.
未捕获的异常处理首先由线程控制,然后由线程的ThreadGroup对象控制,最后由默认的未捕获异常处理程序控制.如果线程没有明确的未捕获异常处理程序集,并且线程的线程组(包括父线程组)不专门化其uncaughtException方法,则将调用默认处理程序的uncaughtException方法.
这是一个好主意是另一个问题(!).可能您只是想清理资源,关闭连接等,记录问题和/或提醒用户.如果您确实遇到了类似的关键问题,OutOfMemoryErrors那么您无能为力.
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |