Java异常处理中的恢复模型
2024-10-15 03:10:12
异常处理理论上有两种基本模型。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++;
}
}
最新文章
- Java_内存管理String and Array
- IncDec Sequence
- 2016年11月5日 星期六 --出埃及记 Exodus 19:21
- angularJS中ng-if的用法
- Python闭包与javascript闭包比较
- ASP.NET Core 一步步搭建个人网站(5)_Api模拟和网站分析
- 第11章 使用OpenID Connect添加用户身份验证 - Identity Server 4 中文文档(v1.0.0)
- Hadoop记录-JMX参数
- java操作elasticsearch实现批量添加数据(bulk)
- SQL Server 2012 安装过程详解(包含每一步设置的含义)
- TCP/IP协议族分层
- 安装Android SDK Manager的“Failed to fetch refused”问题解决方法
- LCS - Longest Common Substring(spoj1811) (sam(后缀自动机)+LCS)
- ZOJ 3962
- java学习笔记6--类的继承、Object类
- 【eclipse】Multiple annotations found at this line:——解决方法
- [转]ibatis中井号跟美元符号区别(#、$)
- Linux 进程管理 kill、killall、pkill命令
- shell sort 排序大讨论
- mongoDB Java SDK CRUD操作例子
热门文章
- ipynb to pdf
- IIS Media Service: Channel 小结
- Linux学习2-fork
- 实验九 Web安全基础
- vue组件之间传值方式解析
- 2 - django-urls路由系统基本使用
- python网络编程-paramiko
- ggplot2使用初探
- yum命令安装软件时,出现--centos 7 安装apache 出现 Could not resolve host: mirrorlist.centos.org; 未知的错误";--CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决
- Java KeyStore 用命令生成keystore文件自己生成证书,简介