我在JavaFX中有點新,我沒有找到任何答案。如何處理任務中的不同異常?
我正試圖使用任務在數據庫中做一些背景計算。問題如下:我如何處理異常(SQLException,IOException等)在我的task.SetOnFailed(e - > ....)函數?我試過這個:e.getSource()。getException()。getMessage()但我不認爲這是正確的方式來做到這一點。
我在JavaFX中有點新,我沒有找到任何答案。如何處理任務中的不同異常?
我正試圖使用任務在數據庫中做一些背景計算。問題如下:我如何處理異常(SQLException,IOException等)在我的task.SetOnFailed(e - > ....)函數?我試過這個: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 {
// ...
}
});
經過測試,你可以修改這一行:Exception exc =(Exception)myTask.getException(); –
嗯,是的,對不起:更新;應該按現在編譯。 –
謝謝,它的工作原理! 您的評論應該是答案。 –