Java 子线程异常处理:主线程获取异常并终止程序执行
在Java中,可以使用Thread.UncaughtExceptionHandler来捕获子线程抛出的异常,并在主线程中进行处理。\n\n首先,需要创建一个实现了Thread.UncaughtExceptionHandler接口的类,用于处理子线程抛出的异常:\n\njava\nclass CustomUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {\n @Override\n public void uncaughtException(Thread t, Throwable e) {\n System.out.println("子线程抛出异常:" + e.getMessage());\n // 终止主线程执行\n System.exit(1);\n }\n}\n\n\n然后,在主线程中设置子线程的UncaughtExceptionHandler为自定义的异常处理类:\n\njava\npublic class MainThread {\n public static void main(String[] args) {\n Thread thread = new Thread(() -> {\n // 子线程出现异常\n throw new RuntimeException("子线程异常");\n });\n\n thread.setUncaughtExceptionHandler(new CustomUncaughtExceptionHandler());\n thread.start();\n }\n}\n\n\n当子线程抛出异常时,CustomUncaughtExceptionHandler会被调用,主线程会获取到异常信息并终止程序执行。
原文地址: https://www.cveoy.top/t/topic/qdrF 著作权归作者所有。请勿转载和采集!