java中异常处理之try-catch-finally

1 :finally在捕获异常try-catch-finally中是可选的

2:使用try将可能出现的异常包装起来,在执行的过程中一旦出现异常,就会生成一个异常类的对象,根据此对象的类型去catch语句中进行匹配,举个简单的例子定义两个整形的数a和b 其中b为0,要求打印出a/b的值,很明显程序会报错的,这时候我们就要去捕获他的异常,需要catch里面加入相应的异常类(这里加入的是ArithmeticException,此类对应的是算术异常,就像是看病一样,感冒后不能吃治疗腿疼的药呀)
java中异常处理之try-catch-finally_第1张图片

3.一旦try的异常对象匹配到catch时,就进入到catch进行异常的处理,一旦处理完成,就跳出当前的try-catch结构(在没有写finally的情况下),继续执行其后的代码。

4 catch中的异常类型如果没有子类和父类的关系的话那么谁声明在上和在下都无关要紧,但是catch中的异常类型如果满足子父类关系的话一定要求子类在父类的上面负责编译不通过例如ArithmeticException类继承了Exception类那么子类放在下面就会报错
java中异常处理之try-catch-finally_第2张图片

5.常用的异常处理方式 1):String getMessage
2):printStackTrace()不过一般情况下后者使用居多

6.在try结构中声明的变量,出了try结构后就不能在使用,所以一般的话我们可以在try的外部先声明一下变量后续也方便使用。

  1. try-catch-finally结构可以在继续嵌套

**使用try-catch-finally处理编译时异常,使得程序在编译时就不在报错,但是运行的时候仍可能报错,相当于我们使用try-catch-finally将一个编译可能出现的异常,延迟到运行时的出现。
**由于运行时异常比较常见,所以我们通常就不针对运行时的异常编写try-catch-finally语句了,不过针对编译时异常,一定要进行异常处理,因为不处理的话编译通过不了。

你可能感兴趣的:(java)