我在JavaFX中有点新,我没有找到任何答案。
我尝试使用Task在数据库中进行背景计算。问题如下:我如何在task.SetOnFailed(e - > ....)函数中处理异常(SQLException,IOException等...)?
我试过这个:e.getSource()。getException()。getMessage()但我不认为这是正确的方法。
答案 0 :(得分:7)
您只需检查例外的类型:
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 {
// ...
}
});