2012-03-16 56 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

您很可能需要清理和重建 - 如果您打电话给自己认为是的方法,并且签名如图所示,那么它几乎必须工作。