java 捕获特定异常_java – 使用特定消息捕获异常
是否有更好的方法來捕獲具有消息的特定異常,然后執行此操作:
try{
methodThatWillProbablyThrowASocketException();
} catch(SocketException e){
if(e.getMessage().contains("reset")){
// the connection was reset
// will ignore
} else{
throw e;
}
}
例如,HttpStatusException為我提供了方法getStatusCode(),我可以輕松地比較錯誤狀態是404還是502,并且可以決定做什么:
try{
methodThatWillProbablyThrowAHTTPException();
} catch(HttpStatusException e){
if(e.getStatusCode() == 404){
// not found, will not continue
}
if else(e.getStatusCode() == 502){
// server errror, try again
} else{
throw e;
}
}
大多數其他例外不給我探測器方法,只是消息.
所以我的問題是,這是正確的方法嗎?用String比較?或者,還有更好的方法?
最佳答案 做一件事.
>收集項目可能發生的所有類型的異常.
>通過擴展Exception創建一個單獨的類.
>重寫getCause()方法.
public Throwable getCause()
為不同的異常定義你想要的代碼就像空指針101一樣……
每個地方使用那個班級.因此,您必須只編寫一次異常,并且可以使用盡可能多的項目.
建立課程后,它將可以重復使用,滿足您的所有需求
如果您獲得新條件,請僅更新此課程,所有事情都將完成
根據我的說法,這是更好的解決方案……
這樣您就可以獲得正在尋找的功能.你必須自己做.
總結
以上是生活随笔為你收集整理的java 捕获特定异常_java – 使用特定消息捕获异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于星空的java小程序_[Java教程
- 下一篇: 全新b85主板双内存条,性能飞跃,多任务