2016-09-20 24 views
0
@Override 
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { 
    try { 
     if (action.equals("init")) {  
      ctrl = io.display.sdk.Controller.getInstance(); 
      ctrl.getInstance().init(cordova.getActivity().getBaseContext(), "5017");     
     } else if (action.equals("showAds")) { 
      ctrl.setEventListener(new EventListener() { 
       @Override 
       public void onInit() { 
        ctrl.showAd("1445"); 
       } 
      }); 
      callbackContext.success(""); 
     } 
     return true; 

    } catch (JSONException e) { 
     e.printStackTrace(); 
     callbackContext.error("Exception: " + e.getMessage()); 
     return false;  
    }   
} 

執行此代碼時,我得到了以下錯誤:JSONException從來沒有在相應的try語句拋出

JSONException never thrown in corresponding try/catch body statement.

你能解釋我爲什麼這個異常被拋出?語法看起來對我好。

+1

這一次,我是爲了你的內心,但使用縮進請,我們可以幫助,但你一定要幫我們理解 –

+0

OK,THX,覈准 – MakingMoneyWithAndroid

+0

Np,究竟在哪裏拋出錯誤?哪一行? –

回答

0

這裏的問題是你有JSONArray作爲參數,但你從來沒有使用過你的方法裏面。因此JSON相關的異常不會被拋出。

catch塊應該抓住由try塊

+0

此方法無法使用,因爲它尚未觸發。我只想建立,而不是使用方法。 – MakingMoneyWithAndroid

0

由於您使用會因方法拋出可能的例外,你需要環繞周圍的函數調用你的try catch塊。

+0

我不是在任何地方調用此方法,想要構建,現在未使用 – MakingMoneyWithAndroid

+0

嘗試移除拋出聲明 –

0

兩種說法Throws JSONExceptiontry-catch可以取代對方。

取下簽名throws JSONException和異常會去嘗試一下身體

+0

這不是這 – MakingMoneyWithAndroid

+0

@ŁukaszMaćczak這是異常消息嗎? –

+0

沒有異常消息,編譯器不會通過它。 錯誤:命令失敗,退出代碼1錯誤輸出: H:\ display.io.plugin \ platforms \ android \ src \ com \ phonegap \ plugins \ displayio \ Display.java:62:error:exception JSONException is從來沒有拋出相應的嘗試聲明的主體 catch(JSONException e){ ^ 1錯誤 – MakingMoneyWithAndroid

相關問題