如何处理异常 的方式
抓抛模型是方式一:
1. 抛:当我们执行代码的时候一旦出现异常就会在异常的代码处生成一个对应的异常的类型的对象,并将此对象抛出一旦抛出后之后的代码就不会再执行啦并且将此异常抛给方法的调用者
2.抓:抓住上一步中抛出的异常,那么后面该如何处理呢?
方法1:
try{ 可能会出现异常的对象
}catch(Exception e1){
如果出现这种类型的异常该如何处理?
}catch(Exception e2){
如果出现这种类型的该如何处理的方式
}finaly{
不管以上的异常会不会出现 这个代码是一定要执行的
}
注意:try中定义的变量类似于局部变量,除了try就不能被大括号外面的语句去调用啦
finally是可选的
catch语句内部是处理异常的方法:getMessage(); printStackTrack();
catch语句是从上往下执行的,一旦有一个语句满足就进去执行后代码直接退出,不会再执行下面的语句
异常分为编译异常和运行时异常,而对于前者必须是要处理的,而后面的异常可以不去处理
处理异常的第二种方式:
声明抛出异常的方式(throw)
也就是说这个不知道如何去处理,只是不断的抛出不去进行处理,而是交给该方法的调用者去处理这个异常。
可以一级一级的往上抛,一直跑到最终的调用者,最后到main方法中,最后就抛给了虚拟机,就会抛出异常的显示。
但是最后一般还是要弄抓抛模型去处理一下。