2017-01-03 75 views
-6

我想將字符串轉換爲JSONObject,但我的應用程序跳過嘗試並捕獲。下面的代碼:嘗試將字符串轉換爲JSONObject跳過嘗試並捕獲

if(!getUserRegisterInfo().equalsIgnoreCase("")) 
    { 

     retrieveState(); 
    } 

retrieveState功能:

private void retrieveState(){ 
    try { 
     JSONObject obj = new JSONObject(UserPreferences.getUserRegisterInfo()); 
     JSONObject row = obj.getJSONObject("UserRegistrationInfo"); 

     Toast.makeText(getContext(),"firstName = " +row.getString("firstName") ,Toast.LENGTH_SHORT).show(); 
    } catch (Throwable t) { 
     t.printStackTrace(); 
    } 
} 

它是不會放棄任何異常,也沒有面包所示,任何幫助將是對我真正有價值的..!

+3

這不是跳過它拋出異常:) – Spartan

+1

檢查logcat的觀點,會有一些紅色的線告訴你,什麼是錯的 –

+7

把土司你釣到的魚也會讓你看到你的可愛的烤麪包,並編輯你的標題爲JSON跳過嘗試,但我的漁獲得它哈哈:) –

回答

0

如果JsonObject拋出異常。那麼你的代碼將永遠不會執行剩餘的try塊。

試試這個

private void retrieveState() 
{ 
    try 
    { 
     JSONObject obj = new JSONObject(UserPreferences.getUserRegisterInfo()); 
     JSONObject row = obj.getJSONObject("UserRegistrationInfo"); 

    } 
    catch (Throwable t) 
    { 
     t.printStackTrace(); 
    } 
    finally 
    { 
     Toast.makeText(getContext(),"Your Message" ,Toast.LENGTH_SHORT).show(); 
    } 
}