[英]Custom exception handling error
我有擴展JSONException的自定義異常,我希望我的方法拋出此異常,而不是在方法中使用try catch。
當我使用異常時,IDE仍然警告我要處理JSON異常。
例外
public class NoBorderException extends JSONException {
public NoBorderException(String s) {
super(s);
}
public String getMessage(){
return super.getMessage();
}
}
方法 -未處理的JSON異常
private void loadNeighboringCountries(String data) throws NoBorderException {
final JSONArray arrBorders = new JSONArray(data);
System.out.print(arrBorders.get(0));
方法 -沒問題
private void loadNeighboringCountries(String data) throws JSONException{
final JSONArray arrBorders = new JSONArray(data);
System.out.print(arrBorders.get(0));
謝謝,
JSONArray
構造函數(實際上是get
方法)拋出JSONException
。 僅聲明您的方法拋出NoBorderException
而不是JSONException
類,這意味着JSONException
仍未處理。
總之,聲明throws NoBorderException
涵蓋的任何子類NoBorderException
,而不是它的超JSONException
。
如果要此方法引發自定義異常類型,則需要執行以下操作:
try {
final JSONArray arrBorders = new JSONArray(data);
System.out.print(arrBorders.get(0));
}
catch (JSONArray e) {
throw new NoBorderException(e.getMessage());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.