我正在使用Android的httpclient连接到域,如下所示:
try {
URL url = new URL("example.com");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
read(conn.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
如果删除此行,现在没问题了:
e.printStackTrace();
并将其替换为:
Toast toast = Toast.makeText(getApplicationContext(), "Could not connect to domain.", Toast.LENGTH_LONG);
toast.show();
或者我必须对'e'变量做些什么吗?在这种情况下,它将是:
catch (Exception e) {
e.printStackTrace();
Toast toast = Toast.makeText(getApplicationContext(), "Could not connect to domain.", Toast.LENGTH_LONG);
toast.show();
}
如果我执行e.printStackTrace(),它会在哪里打印?
答案 0 :(得分:1)
我建议只捕获抛出的异常类型(在这种情况下我认为是IOException)。其他例外可能是完全不相关的问题。
是的,用toast替换printStackTrace很好。额外提示:只需致电
Toast.makeText(getApplicationContext(), "Could not connect to domain.", Toast.LENGTH_LONG).show();
你可以在一行中完成所有操作。 :)
e.printStackTrace()
将打印到标准logcat跟踪,您可以使用adb logcat
命令查看该跟踪(adb是Android SDK的一部分)。