我有HttpHostConnectException
...没关系,因为服务器处于离线状态。所以我想管理这种情况的异常,服务器将会关闭。
但如果我使用
catch (HttpHostConnectException e){
e.printStackTrace();
}
没有任何事情发生,例外将会杀死进程。那我怎么能抓住“无法到达”的服务器呢?感谢您的时间和帮助;)
答案 0 :(得分:2)
调用e.printStackTrace();
会杀死您的应用,因为未处理例外
e.printStackTrace();
会将异常打印到 logcat 并显示错误或将导致应用崩溃
您可以将例外显示为字符串或将静态文字显示为吐司,说服务器无法访问
catch (HttpHostConnectException e)
{
Toast.makeText(getApplicationContext(), "Server Unreachable ", Toast.LENGTH_LONG).show();
}
如果您想显示导致使用的实际问题/异常
catch (HttpHostConnectException e)
{
Toast.makeText(getApplicationContext(), "Connection Timeout Reason "+string.ValueOf(e), Toast.LENGTH_LONG).show();
}
通过这样做,您的应用程序不会自行终止并继续执行代码的下一行
你也可以这样做
Log.v(locat, exception.toString());