日期:2014-05-20  浏览次数:20778 次

关于throws和try catch 的一点疑惑
今天在看一段代码的时候发现   一个方法中即声明了throws   Exception   也在代码中嵌入了try   catch   请问这么做是错误的还是正确的,如果执行的时候   try   catch   中代码出现异常,会执行那个异常处理呢?

------解决方案--------------------

如果你这么写:

public void method() throws Exception {
try {
具体程序
} catch(Exception ex) {

}
}
如果具体程序出错的话,将处理下面程序体中catch的地方处理阿。
这个时候throws Exception 其实是没有意义的。


public void method() throws Exception {
try {
具体程序
} catch(FileNotFoundException ex) {

}
}

如果具体程序出错的话,且是FileNotFoundException 的情况下,将处理下面程序体中catch的地方处理阿。
这个时候FileNotFoundException 以外的Exception 将通过 throws Exception ,throw到上一层。