2011-02-10 9 views
1

私のコードは次のようになります。UnknownHostExceptionが例外で捕捉されないのはなぜですか(java)?

try 
{ 
    String htmlPageText=readFromHtml("http://www.yahoo.com"); 
} 
catch (Exception e) 
{ 
    System.out.println("===Here==="); 
} 

方法readFromHtml()はURLを取り、HTMLページを返します。通常正常に動作します。しかし、私は "サイトダウン"の状況をシミュレートしようとしているので、インターネット接続のプラグを抜いた。私は、エラーがキャッチされなければならないと結果が「===ここ===」になります、と思ったが、その代わり、それは返さ:「===ここ===」

java.net.UnknownHostException: http://www.yahoo.com" 

れ、プリントアウトすることはありません。 UnknownHostExceptionの拡張子は java.lang.Exceptionなので、なぜそれがcatch節にキャッチされなかったのですか?それを得るにはキャッチ (UnknownHostException ex)が必要ですか?

+4

投稿したコードに問題はありません。私は問題がreadFromHtmlメソッドにあると思う。 –

答えて

3

readFromHTMLメソッドのソースコードとは何ですか?私の推測では、このメソッドは何らかの例外をスローしますが、UnknownHostExceptionはスローしません。コード内の他の場所で、例外が未処理のままです。

+1

偉大な "キャッチ"、あなたはそれを持っています!私はそれを調べました。これには、「catch(Exception e){e.printStackTrace();}」があります。ありがとう! – Frank

+0

私はそれほど正確ではないものを書きました。例外は実際にはどこか別の場所にあります:)将来のバイパスのために、メソッドのコードで答えを編集するとよいでしょう。 – Dunaril

関連する問題