Java中的全局异常处理程序

时间:2010-05-12 03:22:31

标签: java android exception-handling

我正在考虑使用Thread.setDefaultUncaughtExceptionHandler(...)调用为我的(Android)移动应用程序(使用Java语法)设置一个全局的默认Exception处理程序。我正在考虑只向用户显示带有相应消息的警报对话框。

设置DefaultExceptionHandlers时是否需要遵循任何问题,警告和规则?任何最佳实践,如确保进程被终止,完整的堆栈跟踪写入日志等?

链接到文档,教程等可以为此提供一些启示。

感谢。

2 个答案:

答案 0 :(得分:2)

  • 该名称有点误导,因为使用该方法将为所有线程设置默认的异常处理程序。
  • 确保您的异常处理程序不会抛出任何异常。
  • 如果您正在从异常处理程序中执行GUI内容,请确保从正确的线程执行此操作。
  • 未捕获的异常只会停止发生异常的线程,如果这也导致进程终止取决于可能正在运行的任何其他线程。

答案 1 :(得分:1)

创建全局异常处理程序的一个可能问题是您可能陷入异常循环 - 除非程序终止,否则将重复抛出一些异常。

如果你的意思是当抛出异常时,会显示一条消息,然后应用程序终止,那么你就可以了。