Core Java 5

p273~p276

1、获取异常的更多信息:e.getMessage()。

 

2、得到异常的实际类型:e.getClass().getName()。

 

3、当异常之间不存在子类关系,并且异常的处理机制(handler code)是相同时,可以用一个

catch子句捕获这些异常,这样会更高效。例如:catch(FileNotFoundException | UnknownHostException e)

 

4、在 catch子句中可以抛出一个异常。这样做的原因可能是:只是想记录一个异常,重新将它抛出,而不做任何改变,

或者子系统抛给父系统处理异常。

 

5、finally子句。无论是否有异常,该子句中的代码都会被执行。

如果一切正常,执行顺序为:try{}中的语句——>finally{}中的语句——>之后的语句

如果有异常,执行顺序为:try{}——>catch{}——>finally{}

 

6、try语句可以没有 catch只有 finally。

 

7、在方法内,finally将在return之前执行。

 

posted @ 2017-02-22 21:21  xkfx  阅读(145)  评论(0编辑  收藏  举报