Java如何将处理完异常之后的程序能够从抛出异常的地点向下执行?

 更新时间:2019年04月10日 14:29:12   作者:yangyongUestc  
今天小编就为大家分享一篇关于Java如何将处理完异常之后的程序能够从抛出异常的地点向下执行?,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

因为Java中的异常处理理论,支持的是终止模型,在这种模型中,抛出异常之后,程序无法返回到异常发生的地方向下继续执行。但是,如果我们现在想要Java实现类似恢复模型的行为,希望异常在处理之后继续往下进行执行,那么有什么解决的办法吗?

思路:

把try块放在while循环里,这样就能不断的进入try块,直到获得满意的结果结束。

下来看下面的程序:

package exceptions;
class MyException extends Exception {
}
public class ContinueException {
 private static int count;
 private static final int COUNTNUMBER = 1;
 public static void main(String[] args) {
 while (true) {
  try {
  if (++count == COUNTNUMBER) {
   throw new MyException();
  }
  System.out.println("Continue run after throw MyException");
  } catch (MyException e) {
  // TODO: handle exception
  System.out.println("Caught MyException");
  }finally {
  if(count == COUNTNUMBER + 1) break;
  }
 }
 }
}

程序执行结果为:

Caught MyException
Continue run after throw MyException

从结果我们可以看到,在异常处理完之后,程序继续向下执行了,打印出了结果。

这个程序给我们的思路就是:如果把try块放在循环里,并为抛出异常的语句之前建立一个条件语句,就有可能根据条件语句使下次执行的时候,跳过抛出异常的地方,向下执行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • JavaMap两种遍历方式keySet与entrySet详解

    JavaMap两种遍历方式keySet与entrySet详解

    这篇文章主要介绍了JavaMap两种遍历方式keySet与entrySet,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • Java基础详解之集合框架工具Collections

    Java基础详解之集合框架工具Collections

    这篇文章主要介绍了Java基础详解之集合框架工具Collections,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-04-04
  • 用C和JAVA分别创建链表的实例

    用C和JAVA分别创建链表的实例

    使用用C和JAVA分别创建链表的方法,创建链表、往链表中插入数据、删除数据等操作。
    2013-10-10
  • Java读写ini文件代码示例

    Java读写ini文件代码示例

    这篇文章主要介绍了Java读写ini文件代码示例,分享了相关代码示例及相关注释,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • java 判断二进制文件的方法

    java 判断二进制文件的方法

    这篇文章主要介绍了java 判断二进制文件的方法的相关资料,这里提供实例来实现判断文件是否问二进制文件,希望能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 解析SpringSecurity自定义登录验证成功与失败的结果处理问题

    解析SpringSecurity自定义登录验证成功与失败的结果处理问题

    这篇文章主要介绍了SpringSecurity系列之自定义登录验证成功与失败的结果处理问题,本文通过实例给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Java中的内存模型JMM详细解读

    Java中的内存模型JMM详细解读

    这篇文章主要介绍了Java中的内存模型JMM详细解读,Java 对内存的抽象模型如下,每个线程都有一块自己的私有内存(也称为工作内存),当线程使用变量时,会把主内存里面的变量复制到工作内存,线程读写变量时操作的是自己工作内存中的变量,需要的朋友可以参考下
    2023-12-12
  • java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    这篇文章主要介绍了java项目打包成可执行jar用log4j将日志写在jar所在目录操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Springmvc调用存储过程,并返回存储过程返还的数据方式

    Springmvc调用存储过程,并返回存储过程返还的数据方式

    这篇文章主要介绍了Springmvc调用存储过程,并返回存储过程返还的数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Flutter瀑布流仿写原生的复用机制详解

    Flutter瀑布流仿写原生的复用机制详解

    这篇文章主要给大家介绍了关于Flutter瀑布流仿写原生的复用机制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用flutter具有一定的参考学习价值,需要的朋友可以参考下
    2021-07-07

最新评论