我们必须在java中提到异常类型吗?

时间:2015-06-07 21:44:05

标签: java exception-handling

我刚刚找到

try  
{ 
    Thread.sleep(50); 
} catch(Exception ex){  }  

工作得很好。那为什么我们需要明确提到异常类型?

try  
{ 
    Thread.sleep(50); 
} catch(InterruptedException ex){ex.printStackTrace();}   

2 个答案:

答案 0 :(得分:1)

  

为什么我们明确提到例外类型?

控制我们捕获的异常。不定义的类(或其子类)的异常将传播给调用者。例如,我可以说我将在我的代码中处理IOException,但如果发生FooBarException,我会将其留给调用者处理。

我建议您阅读Java exceptions tutorial

答案 1 :(得分:0)

如果抛出给定类型的异常,或其任何子类,将开始catch子句。 Exception不是特殊关键字 - 它是类的名称 - java.lang.Exception,所有已检查的异常都从该名称继承。如果您想要捕获任何例外,包括未经检查的例外,则可以使用catch (Throwable t)。虽然注意这不是一个好主意。