Java中的全局异常处理程序
我正在考虑使用Java中的全局异常处理程序,java,android,exception-handling,Java,Android,Exception Handling,我正在考虑使用Thread.setDefaultUncaughtExceptionHandler(…)调用为我的(Android)移动应用程序(使用Java语法)设置一个全局默认异常处理程序。我正在考虑向用户显示一个带有适当消息的警报对话框 设置DefaultExceptionHandlers时,是否需要遵循任何陷阱、警告和规则?是否有任何最佳实践,如确保进程被终止、将完整堆栈跟踪写入日志等 欢迎链接到文档、教程等,以便对此有所了解 谢谢 创建全局异常处理程序的一个可能问题是,您可能会陷入异常循
Thread.setDefaultUncaughtExceptionHandler(…)
调用为我的(Android)移动应用程序(使用Java语法)设置一个全局默认异常处理程序。我正在考虑向用户显示一个带有适当消息的警报对话框
设置DefaultExceptionHandlers
时,是否需要遵循任何陷阱、警告和规则?是否有任何最佳实践,如确保进程被终止、将完整堆栈跟踪写入日志等
欢迎链接到文档、教程等,以便对此有所了解
谢谢 创建全局异常处理程序的一个可能问题是,您可能会陷入异常循环中—除非程序终止,否则会重复抛出某些异常 如果您的意思是当抛出异常时,会显示一条消息,然后应用程序会终止,那么您就没事了。
- 该名称有点误导,因为使用该方法将为所有线程设置默认异常处理程序李>
- 确保不能从异常处理程序引发任何异常
- 如果您是从异常处理程序执行GUI操作,请确保您是从正确的线程执行的
- 未捕获异常只会停止发生异常的线程,如果这也会导致进程终止,这取决于可能正在运行的任何其他线程
invokeLater
),否则可能会发生奇怪的事情。