我正在研究Java中的跨平台应用程序,目前在Windows,Linux和MacOS X上运行良好。我正在尝试找出一种很好的方法来检测(和处理)'崩溃'。是否有一种简单,跨平台的方法来检测Java中的“崩溃”并做出响应?想通过'崩溃'我的意思是未被捕获的例外。但是代码确实使用了一些JNI,因此能够从糟糕的JNI代码中捕获崩溃是件好事,但我感觉这是特定于JVM的。
发布于 2018-08-30 10:54:09
对于简单的catch-all处理,可以在Thread中使用以下静态方法。来自Javadoc,这是处理可能无法在其他任何地方捕获的错误或未经检查的异常的非常广泛的方法。
发布于 2018-08-30 11:30:30
为了处理未捕获的异常,可以提供一个新的ThreadGroup,它提供ThreadGroup.uncaughtException(...)的实现。然后可以捕获任何未捕获的异常并适当地处理它们(例如,将崩溃日志发送回家),我无法帮助你在JNI前面,在调用JVM之前可能有一种使用本机包装器可执行文件的方法,但是可执行文件需要知道它可能调用的所有可能的JVM以及指示崩溃的方式和位置崩溃日志等等
https://stackoverflow.com/questions/-100000692
复制相似问题