簡體   English   中英

自定義異常處理錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM