0

我正在使用 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(),它会打印到哪里?

4

1 回答 1

1

我建议只捕获抛出的异常类型(在这种情况下我认为是 IOException)。其他例外可能是完全不相关的问题。

是的,可以用 toast 替换 printStackTrace。额外提示:只需打电话

Toast.makeText(getApplicationContext(), "Could not connect to domain.", Toast.LENGTH_LONG).show();

您可以在一行中完成所有操作。:)

e.printStackTrace()将打印到标准 logcat 跟踪,您可以使用adb logcat命令查看(adb 是 Android SDK 的一部分)。

于 2012-09-29T16:54:29.540 回答