异常

异常

异常是可以被处理的,而错误是没法处理的。 

产生异常的原因:系统资源不可用,程序控制不当。

Try块:一般用来监视有可能产生异常的代码部分

Catch块:当异常产生后,catch块捕捉异常,并在其中对异常进行处理。

 

虽然多重catch块可以同时监听多个不同类型的异常,但是一个try块一旦有某个异常产生,程序就会跳转到与之异常类型最匹配的catch块中执行,然后执行finally块(如果有finally块的话)或之后的语句

多重catch块只会捕捉到最先产生的异常,而不是把所有的异常全部捕捉完

无论有多少个catch块,最多只会执行其中的一个

Catch块的书写顺序决定一场的优先级

Try-catch块中可以嵌套trycatch

 

1try块中的局部变量和catch块中的局部变量(包括异常变量),以及finally中的局部变量,他们之间不可共享使用。

 

2、每一个catch块用于处理一个异常。异常匹配是按照catch块的顺序从上往下寻找的,只有第一个匹配的catch会得到执行。匹配时,不仅运行精确匹配,也支持父类匹配,因此,如果同一个try块下的多个catch异常类型有父子关系,应该将子类异常放在前面,父类异常放在后面,这样保证每个catch块都有存在的意义。

 

3java中,异常处理的任务就是将执行控制流从异常发生的地方转移到能够处理这种异常的地方去。也就是说:当一个函数的某条语句发生异常时,这条语句的后面的语句不会再执行,它失去了焦点。执行流跳转到最近的匹配的异常处理catch代码块去执行,异常被处理完后,执行流会接着在处理了这个异常的catch代码块后面接着执行。

 

posted @ 2019-07-15 11:18  小小超plus  阅读(134)  评论(0编辑  收藏  举报