异常处理理论上有两种基本模型。Java支持终止模型,在这种模型中,假设错误非常关键,以至于程序无法返回到异常发生的地方继续执行。一旦异常被抛出,就表明错误已无法挽回,也不能回来继续执行。长久以来,尽管程序员们使用的操作系统支持恢复模型的异常处理,但他们最终还是转向使用类似“终止模型”的代码,因为这样可以编写出更加通用性的代码。

不过值得一提的是“恢复模型”也并非一无是处,在某些情况下采用“伪恢复模型”依然可以起到对程序的恢复作用。具体方法就是把try块放在while循环里,这样就不断地进入try块,直到得到满意的结果。
    class MyException extends Exception{
MyException(){}
MyException(String msg){
super(msg);
}
}
public class LoopsException {
private static int i=0;
public void loopf(int f) throws MyException{
if(i
System.out.println("i too tiny");
throw new MyException("Can't run");
}else{
System.out.println("i enough");
}
}
public static void main(String[] args){
LoopsException le=new LoopsException();
while(true){
try{
le.loopf(15);
System.out.println("i="+i);
break;
}catch(MyException e){
e.printStackTrace(System.out);
}
i++;
}
}

最新文章

  1. Java_内存管理String and Array
  2. IncDec Sequence
  3. 2016年11月5日 星期六 --出埃及记 Exodus 19:21
  4. angularJS中ng-if的用法
  5. Python闭包与javascript闭包比较
  6. ASP.NET Core 一步步搭建个人网站(5)_Api模拟和网站分析
  7. 第11章 使用OpenID Connect添加用户身份验证 - Identity Server 4 中文文档(v1.0.0)
  8. Hadoop记录-JMX参数
  9. java操作elasticsearch实现批量添加数据(bulk)
  10. SQL Server 2012 安装过程详解(包含每一步设置的含义)
  11. TCP/IP协议族分层
  12. 安装Android SDK Manager的“Failed to fetch refused”问题解决方法
  13. LCS - Longest Common Substring(spoj1811) (sam(后缀自动机)+LCS)
  14. ZOJ 3962
  15. java学习笔记6--类的继承、Object类
  16. 【eclipse】Multiple annotations found at this line:——解决方法
  17. [转]ibatis中井号跟美元符号区别(#、$)
  18. Linux 进程管理 kill、killall、pkill命令
  19. shell sort 排序大讨论
  20. mongoDB Java SDK CRUD操作例子

热门文章

  1. ipynb to pdf
  2. IIS Media Service: Channel 小结
  3. Linux学习2-fork
  4. 实验九 Web安全基础
  5. vue组件之间传值方式解析
  6. 2 - django-urls路由系统基本使用
  7. python网络编程-paramiko
  8. ggplot2使用初探
  9. yum命令安装软件时,出现--centos 7 安装apache 出现 Could not resolve host: mirrorlist.centos.org; 未知的错误"--CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决
  10. Java KeyStore 用命令生成keystore文件自己生成证书,简介