java - 捕获异常后如何关闭android应用程序

标签 java android multithreading

我正在设计一个 Android 应用程序,如果发生崩溃,我想在其中检查详细信息。所以我使用了 Thread.UncaughtExceptionHandler() 类。它会生成崩溃线程的详细信息,但一旦发生崩溃,应用程序就会卡住。我想在崩溃后立即关闭我的应用程序,但也想详细了解线程。我在 Activity 类中包含以下代码。有什么建议吗?

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {

            @Override
            public void uncaughtException(Thread thread, Throwable ex) {
                Log.e("UserApp", "uncaught_exception_handler: uncaught exception in thread " + thread.getName(), ex);


                if(ex instanceof RuntimeException)
                    throw (RuntimeException)ex;
                if(ex instanceof Error)
                    throw (Error)ex;


                Log.e("UserApp", "uncaught_exception handler: unable to rethrow checked exception");

            }

最佳答案

你可以在你的exception block 中尝试finish();

关于java - 捕获异常后如何关闭android应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22600668/

相关文章:

javascript - 如何在组件内的组件中启用 ScrollView

android - 当我为警告对话框中的编辑文本执行 getText() 时获取空指针 (Android)

java - 为什么我的线程没有死?

java - 配置中的属性占位符

javascript - Spinner 在 onEndReachedThreshold Flatlist 中不起作用

java - 为什么下面不自动创建引用对象

java - java中优化的线程安全列表

c# - 重复调用CurrentThread.ManagedThreadId或将值存储在线程本地存储中?

java - 获取滚动金额

java - 将 Logger.info 放在静态 block 中