我有一个HttpHostConnectException
... 没关系,因为服务器处于离线状态。所以我想在这种情况下捕捉到这个异常,服务器将关闭。
但是如果我使用
catch (HttpHostConnectException e){
e.printStackTrace();
}
什么都没有发生,异常将是杀死进程。那么我怎样才能捕获“无法访问”的服务器呢?感谢您的时间和帮助;)
我有一个HttpHostConnectException
... 没关系,因为服务器处于离线状态。所以我想在这种情况下捕捉到这个异常,服务器将关闭。
但是如果我使用
catch (HttpHostConnectException e){
e.printStackTrace();
}
什么都没有发生,异常将是杀死进程。那么我怎样才能捕获“无法访问”的服务器呢?感谢您的时间和帮助;)
调用 e.printStackTrace();
将杀死您的应用程序,因为未处理异常
e.printStackTrace();
会将异常打印到logcat并显示错误或使您的应用程序崩溃
您可以将异常显示为字符串,也可以将静态文本作为 toast 表示服务器无法访问
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());