Socket.connect在Android中不会抛出异常

时间:2013-05-18 12:06:38

标签: android sockets exception connect

如果我放入一个废话网址,则不会抛出任何异常,并且我的其余代码都没有被执行,甚至没有执行调用连接方法的asynctask的其余部分。

try {
        socketCliente.connect(new InetSocketAddress("f", port), 2000);

    } catch (UnknownHostException e) {
        getError("Host doesn't exist");
        return -1;
    } catch (IOException e) {
        getError("Could not connect: The host is down");
        return -1;
    }

2 个答案:

答案 0 :(得分:0)

添加另一个catch语句。

catch ( Exception e ) {
    Log.d(TAG, e.getMessage(),e);
    Toast.makeText(getApplicationContext(), "Unexpected Error:" + e.getMessage(), Toast.LENGTH_LONG).show();
}

这将写入日志并弹出一个祝酒词,告诉你发生了什么。

答案 1 :(得分:0)

这很奇怪,你能再添加两行,看看你得到了什么。

另外,在日志中,要注意这两行之间的时差。

try {
    Log.w("SOCKET", "Trying to connect...");
    socketCliente.connect(new InetSocketAddress("f", port), 2000);
    Log.w("SOCKET", "Connected. No exception");

} catch (UnknownHostException e) {
    getError("Host doesn't exist");
    return -1;
} catch (IOException e) {
    getError("Could not connect: The host is down");
    return -1;
}
相关问题