[英]What is the proper way to handle exception inside callback?
我有一個帶異常實例的回調。 目前我用這種方式處理它,但我認為有更好的方法。 想聽聽Java專家的一些評論。 =)
...
onError(Exception e) {
if (e instanceof IOException) {
ioe = (IOException)e;
// do smth with ioe
} else if (e instanceof MyException) {
mye = (MyException)e;
// do smth with mye
}
}
...
我不是100%肯定你在“回調內部處理異常”的意思,但你提供的onError
方法可以更好地表達如下:
...
onError(Exception e) {
try {
throw e;
} catch (IOException ioe) {
// do smth with ioe
} catch (MyException mye) {
// do smth with mye
}
}
...
我認為您可以使用異常的子類覆蓋“onError”:
interface MyExceptionHandler
{
onError(Exception e) {
// Default exception
}
onError(IOException ioe) {
// do smth with ioe
}
onError(MyException mye) {
// do smth with mye
}
}
好吧,你可以嘗試使用多個catch塊,每個catch塊處理比他之后的更小的異常,這樣你就不再需要帶有ifs的樣板代碼:
try {
doSomething();
} catch(IOException ioe) {
log.error("File not found"+ioe.getmessage();
} catch(Exception e) {
//... etc
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.