Java 从正在运行的线程捕获异常
我想从正在运行的线程捕获一个异常,并在调用线程中处理它。我怎样才能做到最好Java 从正在运行的线程捕获异常,java,multithreading,Java,Multithreading,我想从正在运行的线程捕获一个异常,并在调用线程中处理它。我怎样才能做到最好 try { Runnable connect = new Runnable() { public synchronized void run() { try { ... some code requiring long time } catch(Exception e) { ..I want to catch here and send to call
try {
Runnable connect = new Runnable() {
public synchronized void run() {
try {
... some code requiring long time
} catch(Exception e) {
..I want to catch here and send to calling thread
}
}
}
synchronized(connect) {
new Thread(connect).start();
connect.wait();
...if exception then handle it
...keep on with code if no exception occurred
}
} catch(Exception e) {
}
最好的方法是不要直接使用线程,而是使用线程。如果愿意,可以通过线程运行,也可以通过向执行者提交可调用的(首选方法)来获得未来。Future为您提供了一种方便的方式来等待任务完成并处理结果(常规或例外)。我认为您需要使用与并发相关的类和Future。