发生异常时,我尝试将其报告给日志服务器。
我发现了一个在使用Thread.setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler handler)
时继承了java.lang.RuntimeException的异常。
但我没有捕获任何继承了java.lang.Error的子类。 (例如OutOfMemoryError,IOError,...)
所以我使用Runtime.addShutdownHook(Thread hookThread)
,但永远不会调用hookThread.run()
方法。
如何在android上全局捕获错误? 我不想使用其他进程..我只是想尝试报告日志服务器上的错误。
抱歉evertyone,我试图继续捕获错误throwable,我知道java.lang.Error也被抓住了。但是没有在UncaughtExceptionHandler.uncaughtException()中运行已实现的函数。只是打印日志以供检查。
答案 0 :(得分:0)
我解决了。只是我错了。 我处理了Throwable对象以获取日志信息。 但我使用了Throwable.getCause()方法,当发生java.long.Error时,它为null。
在uncaughtException()方法中,当发生exeption时,不能完全打印日志。
谢谢你,轴。