2012-03-16 104 views
0

我有項目作爲一個「圖書館」做HttpCommunication。我發佈數據並接收響應。 Lib的方法可以拋出一些我想要在託管應用程序中捕獲的異常,但不知何故,我只能捕獲一般異常而不是特定的異常。圖書館拋出異常

庫方法的代碼:

public byte[] execute(String entityStr) throws UnsupportedEncodingException, 
     ClientProtocolException, IOException 
{ 
    ... 
    // some code that can throw mentioned exceptions 
} 

託管類:下面

try { 

    byte[] response = httpClient.execute(profile); 
} catch (Exception e) { 

    e.printStackTrace(); 
} 

以上代碼編譯,但代碼沒有。

try { 

    byte[] response = httpClient.execute(profile); 
} catch (UnsupportedEncodingException e) { 

} catch (ClientProtocolException e) { 
} 

Exception對象標記爲錯誤,消息說爲UnsupportedEncodingException

無法到達catch塊。這個異常不會從try語句體中拋出。

託管類是一個活動。通信在AsyncTask類中完成。 如果有人知道它有什麼問題,請解釋我。

+0

沒有更多的細節,它將很難幫助;總是嘗試清潔和重建。如果它們不是運行時異常,並且您調用了您認爲自己的方法,應該可以正常工作。 (可能還會很好,還有RTEs。) – 2012-03-16 23:04:43

+0

@DaveNewton將您的評論發佈爲答案。簡單的清潔項目幫助。 – Maxim 2012-03-16 23:14:06

+0

完成;不要討厭這個? – 2012-03-17 00:20:32

回答

0

您很可能需要清理和重建 - 如果您打電話給自己認爲是的方法,並且簽名如圖所示,那麼它幾乎必須工作。