0

我正在开发一个小测试应用程序,以从网络上抓取一些数据(在本例中为 XKCD 漫画)并将其显示在我的手机上。这是我第一次涉足 Android 编程,我对 Java 不太熟悉,所以我并没有太大的野心。我成功地用 Java 编写了一个程序,该程序执行了我想在 Android 上执行的相同功能,并且它运行得非常好,但是我在 Java 中工作的一些代码会导致在 Android 中关闭。特别是这个小代码块:

try {
        home = Jsoup.connect("http://www.xkcd.com").get();
        Log.i("connect to home","completed");
    } catch (IOException e) {
        Log.i("connect to home","failed");
    }

每次运行时,我都会在日志中看到“失败”消息。如果我删除我的代码的那部分,我的应用程序运行良好,所以我知道错误一定存在。如果您想知道,“home”在我的代码中的其他地方被定义为文档。在 Java 中这运行良好,我也很奇怪在 Eclipse 中为 Android 开发时,它迫使我用 try-catch 块包围该语句,但在 Java 中我不需要 try-catch。任何想法为什么这不起作用?如果您需要更多信息或更多我的代码,我会提供(尽管我试图给出完整的故事)。

非常感谢您的帮助

4

1 回答 1

1

每次运行时,我都会在日志中看到“失败”消息。

记录异常e。它包含有关失败的方式/原因/位置的信息。如果没有很好的理由(即您确切地知道自己在做什么),您永远不应该抑制异常。

我也很奇怪,在 Eclipse 中为 Android 开发时,它迫使我用 try-catch 块包围该语句,但在 Java 中我不需要 try-catch。

可能你已经有了throws IOException这样的方法:

public void foo() throws IOException {
    Document document = Jsoup.connect(url).get();
    // ...
}

那么你确实不需要把它放在一个try-catch中。

也可以看看:

于 2010-12-08T04:28:55.263 回答