有没有一种方法可以在异常发生时自动打印堆栈跟踪?我知道我可以通过用try-catch语句手动包围一个块来做到这一点,但是没有先验知识在程序中异常会发生在哪里,并且在可疑区域中逐块执行会非常低效,因为可能有很多。那么在Android中是否有任何配置选项或任何编程方式来做到这一点?(比如在最高级别的方法中包围一个try-catch块?,但是什么是最高级别的方法)
在您的Application
类中定义一个全局异常处理程序,并将您需要的任何代码添加到其中。
Thread.setDefaultUncaughtExceptionHandler(
new DefaultExceptionHandler(this));
建议您仍然重新抛出捕获的异常,以便应用程序停止运行,因为它将处于不稳定状态,不这样做可能会导致应用程序冻结。
catch (Exception e) {e.printStackTrace();}
我相信最高级别是应用程序级别。但一般来说,只要在通常的活动生命周期中捕获它就足够了。
扩展Exception并在自定义Exception类中执行任何您想要的操作。