我的代码是这样的:
try
{
String htmlPageText=readFromHtml("http://www.yahoo.com");
}
catch (Exception e)
{
System.out.println("===Here===");
}
方法 readFromHtml()
将获取一个 URL 并返回一个 HTML 页面。通常它工作正常。但我试图模拟“站点关闭”的情况,所以我拔掉了互联网连接。我想,错误应该被捕获,结果将是“===Here===”,但相反,它返回:
java.net.UnknownHostException: http://www.yahoo.com"
并且从未打印出“===Here===”。 UnknownHostException
是java.lang.Exception
的扩展,那么为什么没有在catch 子句中捕获呢?我是否需要捕获 (UnknownHostException ex)
才能获取它?
最佳答案
什么是 readFromHTML 方法源代码?我的猜测是此方法会抛出某种异常,但不会抛出 UnknownHostException...您代码中的其他地方未处理异常。
关于java - 为什么 UnknownHostException 没有被 Exception (java) 捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4959859/