1

我有一个HttpHostConnectException... 没关系,因为服务器处于离线状态。所以我想在这种情况下捕捉到这个异常,服务器将关闭。

但是如果我使用

catch (HttpHostConnectException e){
            e.printStackTrace();
}

什么都没有发生,异常将是杀死进程。那么我怎样才能捕获“无法访问”的服务器呢?感谢您的时间和帮助;)

4

1 回答 1

2

调用 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());
于 2013-09-17T19:42:12.633 回答