我们正在谈论
Thread.run方法抛出的未经检查的异常。默认情况下,您会在系统错误中得到以下信息:
Exception in thread "Thread-0" java.lang.RuntimeException at Main$1.run(Main.java:11) at java.lang.Thread.run(Thread.java:619)
这是printStackTrace处理未处理异常的结果。要处理它,您可以添加自己的UncaughtExceptionHandler:
Thread t = new Thread(new Runnable(){ public void run() { throw new RuntimeException(); }}); t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread t, Throwable e) { System.out.println("exception " + e + " from thread " + t); } }); t.start();要为所有线程设置处理程序,请使用静态方法
Thread.setDefaultUncaughtExceptionHandler。



