我的代码如下所示:

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


方法readFromHtml()将采用URL并返回HTML页面。通常,它工作正常。但是我试图模拟“站点关闭”的情况,所以我拔掉了Internet连接。我以为,应该捕获该错误,并且结果将是“ === Here ===“,但相反,它返回了:

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


并且从不打印“ ===这里===”。 UnknownHostExceptionjava.lang.Exception的扩展,所以为什么没有在catch子句中捕获它?我需要抓住(UnknownHostException ex)来拿到它吗?

最佳答案

什么是readFromHTML方法源代码?我的猜测是此方法引发某种异常,但不会引发UnknownHostException ...在代码的其他地方,该异常未得到处理。

10-04 14:53