Art*_*rdi 5 concurrency javafx java-8
我是JavaFX的新手,我没有找到任何答案.
我正在尝试使用Task在数据库中进行一些背景计算.问题如下:我如何在task.SetOnFailed(e - > ....)函数中处理异常(SQLException,IOException等...)?
我试过这个:e.getSource().getException().getMessage()但我不认为这是正确的方法.
您只需检查异常的类型:
Task<Something> myTask = new Task<Something>() {
@Override
public Something call() throws Exception {
// code...
return something ;
}
};
myTask.setOnFailed(e -> {
Throwable exc = myTask.getException();
if (exc instanceof SQLException) {
// ...
} else if (exc instanceof IOException) {
// ...
} else {
// ...
}
});
Run Code Online (Sandbox Code Playgroud)