代码之家  ›  专栏  ›  技术社区  ›  Samuh

Java中的全局异常处理程序

  •  7
  • Samuh  · 技术社区  · 15 年前

    我正在考虑为我的(Android)移动应用程序(使用Java语法)设置全局缺省异常处理程序。 Thread.setDefaultUncaughtExceptionHandler(...) 打电话。我正在考虑向用户显示一个带有适当消息的警报对话框。

    在设置时,是否需要遵循任何要点、注意事项和规则? DefaultExceptionHandlers ?是否有任何最佳实践,如确保进程被终止、将完整的堆栈跟踪写入日志等?

    欢迎提供文档、教程等链接,以帮助您了解这些内容。

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Kees Kist    15 年前
    • 该名称有点误导,因为使用该方法将为 全部的 线程。
    • 确保没有异常可以从异常处理程序中抛出。
    • 如果您从异常处理程序中执行GUI操作,请确保从正确的线程执行。
    • 未捕获的异常只会停止发生异常的线程,如果这也会导致进程终止,则取决于可能正在运行的任何其他线程。
        2
  •  1
  •   Finbarr    15 年前

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

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