我在类中使用runnable实现了一个线程:
static Runnable myThread = new Runnable() {
public void run(){
try{
//do something forever
}catch(Exception e){
//something happened. Re-run this thread
}
}
}
即使发现异常,我仍希望继续运行此线程。那么,我怎么能在异常条款中做到这一点?对此有更优雅的解决方案吗?
答案 0 :(得分:6)
使用循环:
static Runnable myThread = new Runnable() {
public void run() {
for (;;) {
try {
...
} catch(Exception e) {
...
}
}
}
}
无论你做什么,我强烈建议你不要默默地忽略这个例外。如果没有更好的方法来处理异常,至少记录它。
答案 1 :(得分:3)
您可以暂时执行此操作并继续循环。类似的东西:
public void run() {
while (true)
try {
// do something forever
} catch(Exception e) {
// something happened. Re-run this thread
continue;
}
...
}
}