因为Java中的异常处理理论,支持的是终止模型,在这种模型中,抛出异常之后,程序无法返回到异常发生的地方向下继续执行。但是,如果我们现在想要Java实现类似恢复模型的行为,希望异常在处理之后继续往下进行执行,那么有什么解决的办法吗?
<>强思路:强>
把试块放在而循环里,这样就能不断的进入试块,直到获得满意的结果结束。
<强>下来看下面的程序:强>
包异常; 类MyException扩展异常{ } 公开课ContinueException { 私有静态int数; 私有静态最终int COUNTNUMBER=1; 公共静态void main (String [] args) { 而(真){ 尝试{ 如果(+ +数==COUNTNUMBER) { 把新MyException (); } system . out。println(“扔MyException后继续运行”); }捕捉(MyException e) {//TODO:处理异常 system . out。println(“抓住MyException”); 最后}{ 如果(count==COUNTNUMBER + 1)休息; } } } }
<强>程序执行结果为:强>
抓住MyException
引用>
后继续运行扔MyException从结果我们可以看的到,在异常处理完之后,程序继续向下执行了,打印出了结果。
这个程序给我们的思路就是:如果把试块放在循环里,并为抛出异常的语句之前建立一个条件语句,就有可能根据条件语句使下次执行的时候,跳过抛出异常的地方,向下执行。
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
Java如何将处理完异常之后的程序能够从抛出异常的地点向下执行吗?