2017-12-20 23 views
1

JSoupを使ってウェブサイトに接続してデータを解析するプログラムがあります。私が与えた10秒のタイムアウト後にWebサイトが接続に失敗すると、JSoupメソッドはUncheckedIOExceptionをスローします。これには、以前に処理したIOExceptionである「SSL Peer shut out unexpectedly」や「timed out」のようなIOExceptionが含まれている可能性があります。それはトライキャッチに包まれたので、奇妙だ:メソッドのスロー例外を作り、アップ、それは高いハンドリング、私はトライキャッチで方法を包むように回避策のすべての種類をやったJava JSoup Exceptionは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; 

、どこ上記I問題を引き起こしているラインを隔離し、try catchでそれだけをラップしました。私はException、IOException、UncheckedIOExceptionなどをキャッチしようとしましたが、結局のところ、何とかエラーが発生してアプリケーション全体がクラッシュする原因になります。

このようなことは一度もありませんでした。試しにキャッチしてもエラーに対処できないのはどうですか? JSoupがエラーシステムを設定した方法ですか?これは正しいことではありませんか?私はhttps://jsoup.org/downloadからダウンロードして、JSoup 1.11.2を使用しています。

+2

を行っている必要があり、エラーではなく、例外を拡張するオブジェクトをスローします米国? – luksch

+0

@lukschもう一度やり直してしまいますが、それはかなり稀です.24時間に一度は起こらないこともあります。 –

答えて

1

例外は、例外をキャッチしようとしたためにエラーが検出されなかったことでした。 JSoupはあなたにも時に、あなたのプログラムがクラッシュスタックトレースを投稿してのコード行番号を示すことができ、私は

try { 

} catch (Exception e) {} 

をしたときに、私は

try { 

} catch (Error e) {}