当前位置: 首页 > 知识库问答 >
问题:

Java JSoup异常忽略try-catch?

何长恨
2023-03-14

我有一个使用JSoup连接和解析网站数据的程序。当网站在我给出的10秒超时后无法连接时,JSoup方法会抛出一个Uncheck edIOException。这可能包含一个IOException,例如“SSL Peer意外关闭”或“超时”,这是我过去处理过的IOExceptions。这很奇怪,因为它包含一个try catch:

        Document document;
        try {
            document = Jsoup.connect("https://www.website.com").timeout(10000).maxBodySize(0).get();
        } catch (Exception e) {
            return false;
        }
        Elements elements = document.select("tr");
        for (Element e : elements) {
            System.out.println(e.text());
        }
        return true;

我已经做了各种变通方法,比如在try-catch中包装该方法,使该方法抛出异常并进行更高级别的处理,在上面,我隔离了导致问题的行,并仅在try-catch中包装该行。我曾尝试捕捉异常、IOException、UncheckedIOException等,但由于错误以某种方式渗透,最终仍会导致整个应用程序崩溃。

我从来没有遇到过这样的事情。为什么try catch不能处理错误?这是JSoup设置错误系统的方式吗?这不可能是对的,是吗?如果有帮助,我正在使用JSoup 1.11.2,从https://jsoup.org/download.下载

共有1个答案

朱宇航
2023-03-14

问题是错误没有被捕获,因为我试图捕获异常。JSoup抛出一个扩展错误而不是异常的对象,所以当我这样做时

try {

} catch (Exception e) {}

我应该做的

try {

} catch (Error e) {}
 类似资料:
  • 我正在使用Slim来编写REST API,我遇到了一种情况,我需要检查用户输入的日期时间是否有效,从而提出了此代码 当我输入有效的日期时间字符串时,它可以正常工作,例如,但如果只是出于测试目的,我输入一些随机字符串,它会给出500个内部错误,而不是给我任何异常。 为什么它忽略try catch块??? 错误信息 PHP 致命错误: 调用非对象上的成员函数格式 ()

  • 问题内容: 我正在运行以下简单代码: 但是当我运行它时,它会打印 实际上python线程会忽略我的+键盘中断而无法打印。为什么?此代码有什么问题? 问题答案: 尝试 没有对的调用,主要过程是过早地跳出该块,因此不会被捕获。我的第一个想法是使用,但这似乎阻塞了主进程(忽略KeyboardInterrupt),直到完成。 导致线程在主进程结束时终止。

  • null 但是,在完成while循环之后,被完全忽略。我已经用调试器检查了字符串中的数据,它是正确的!没有错误,没有例外。

  • 假如你在读一个文件的时候,希望在无论异常发生与否的情况下都关闭文件,该怎么做呢?这可以使用finally块来完成。注意,在一个try块下,你可以同时使用except从句和finally块。如果你要同时使用它们的话,需要把一个嵌入另外一个。 使用finally 例13.3 使用finally #!/usr/bin/python # Filename: finally.py importtime tr

  • 我们尝试读取用户的一段输入。按Ctrl-d,看一下会发生什么。 >>> s = raw_input('Enter something --> ') Enter something --> Traceback (most recent call last):   File "<stdin>", line 1, in ? EOFError Python引发了一个称为EOFError的错误,这个错误基本

  • 问题内容: 当你只想执行但不处理异常时,如何在Python中进行呢? 以下是正确的方法吗? 问题答案: 要么 所不同的是,第一个也将赶上KeyboardInterrupt,SystemExit和类似的东西,这是直接来源于,没有