为什么在Exception(java)中没有捕获到UnknownHostException?

时间:2011-02-10 16:30:27

标签: java exception

我的代码如下所示:

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

方法readFromHtml()将获取一个网址并返回一个HTML网页。通常它工作正常。但我正在尝试模拟“网站故障”情况,所以我拔掉了互联网连接。我想,错误应该被捕获,结果将是“=== Here ===”,而是返回:

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

并且从未打印过“=== Here ===”。 UnknownHostExceptionjava.lang.Exception的扩展名,那么为什么它没有被catch子句捕获?我需要一个捕获(UnknownHostException ex)来获取它吗?

1 个答案:

答案 0 :(得分:3)

readFromHTML方法的源代码是什么?我的猜测是这个方法会引发某种异常但不会抛出UnknownHostException ...代码中的其他地方异常未处理。