{
throw new Exception()
var a = 1
}
catch
{
var b = 1
}
var c = 1
不会的,如果程序抛出异常,然后会检测调用链,直到有 try 语句,匹配 catch 被捕获,然后执行 catch 语句块,如果直到顶层都没被捕获,则程序异常结束。
这里执行到throw new Exception(),然后抛出异链毁卖常。var a = 1 代码则不会被执行,棚逗异常被catch 捕获,接下来则执行余橡var b = 1 然后则是var c = 1, 然后继续往下执行。
抛出异常是java中一个程序处理动作。
如果一个方法没有捕获可能引发的异常,调用该方法的其他方法应该捕获并处理异常。
为了明确指出一个方法不捕获某类异常,而让调用该方法含喊的其他方法捕缺基获该异常,可以在定义方法的时候,使用throws可选项,用以抛出该类异常。
抛出异常是为了在程序运行错误的情况下,程序也能继续执行下面的代码,而不会跳出这个的程序运行,异常可以是专门写的方法,也可以是用户自定义谈扮野的异常情况,就是一般方法中异常的处理。
一般如果出现非人为异常,即非通过代码throw的方式抛出异常,同时未通过try-catch捕捉。则当前代码不会继续执行,而是向上抛出异常,即返回调用当前代码的位置。如果该位置未对异常进行处理,则继续向上抛出。
通过try-catch捕捉异常,即异常代码在try中,可以在catch中进行异常处理
try{...
//代码,产生异常
}catch(Exception e){//e是异常类型,一般根父类为Exception类
...
//进行产生异常后的处理
}finally{
局谨 ...
//无论握银如何都会执行的代码
}
...
//如果catch中没有继续throw异常以及没有产生新异常,则继续执行的代码
如果想要代码继续执行,可以在catch中不继续抛出异常,则代码将执行catch之后的代码(如果有finally,则先执行finally的代码)。如果想要在产生桐皮基异常之后仍需要执行一部分代码,则可以将该部分代码放在finally中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)