图书馆抛出异常

时间:2012-03-16 22:52:01

标签: java android

我有一个项目作为HttpCommunication的“库”。我将数据发布到其中并接收响应。 Lib的方法可以抛出我希望在托管应用程序中捕获的几个异常,但不知何故,我只能捕获一般的Exception而不是特定的一次。

图书馆方法代码:

 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) {
}

标记为错误的异常对象,消息说

UnsupportedEncodingException的无法访问的catch块。永远不会从try语句体中抛出此异常。

托管类是一项活动。在AsyncTask类中完成的通信。 如果有人知道它有什么问题,请解释我。

1 个答案:

答案 0 :(得分:0)

你很可能需要清理和重建 - 如果你正在调用你认为的方法,并且签名如图所示,那么它几乎必须有效。