【发布时间】:2013-05-13 12:12:35
【问题描述】:
如果我输入了一个无意义的 url,则不会引发异常,并且我的其余代码都不会执行,即使是调用连接方法的 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;
}
【问题讨论】:
-
你有上网权限吗?此代码是否在 UI 线程上运行?
-
尝试捕获一般异常而不是 IO 和 UnknownHost 异常?我预见您可能会收到格式错误的 URL,而不是您正在捕获的 2。
-
@ChorWaiChun 尽管OP怎么说,这段代码中没有URL。
-
@blackbelt,是的,它有权限,我试图在用户设置不存在的 url 时进行处理。连接代码位于从异步任务创建的对象中。
-
@EJP is not "f" in
new InetSocketAddress("f", port)指的是格式错误的 URL?
标签: android sockets exception connect