防止异常丢失
来源:互联网 发布:南风知我意 林如斯 编辑:程序博客网 时间:2024/06/05 16:10
一、自定义异常类
public class CustomException extends Exception{ private List<Throwable> list; public CunstomException(List<? extends Exception>list){ this.list = list; } public List<Throwable> getExceptions(){ return list; }}
二、处理抛异常的函数
// 一个函数同时读取两个文件public void readTwoFile() throws CustomeException {BufferedReader br1 = null;BufferedReader br2 = null;FileReader fr = null;List<Throwable> list = new ArrayList<Throwable>();try {fr = new FileReader("A.txt"); // 1br1 = new BufferedReader(fr);int count = br1.read(); // 2// process code1....fr = new FileReader("B.txt"); // 3br2 = new BufferedReader(fr);count = br2.read(); // 4// process code2} catch (FileNotFoundException ffe) {list.add(ffe); //防止丢弃异常} catch (IOException ie) {list.add(ie);//防止丢弃异常} finally {if (br1 != null) {try {br1.close();} catch (IOException ie) {list.add(ie);//防止丢弃异常}}if (br2 != null) {try {br2.close();} catch (IOException ie) {list.add(ie);//防止丢弃异常}}}// 检查异常的数目if (list.size() > 0)throw new CustomeException(list);}
三、测试端
// 测试客户端public static void main(String[] args) {HideException he = new HideException();try {he.readTwoFile();} catch (CustomeException ce) {List<Throwable>exceptions = ce.getExceptions();
for(int i=0;i<exceptions.size();i++){
e = exceptions.get(i);
e.printStackTrace();
}}}
阅读全文
0 0
- 防止异常丢失
- WebBrowser 防止section丢失
- 防止Session丢失
- session 转移防止丢失
- RabbitMQ 防止消息丢失
- PHP防止精度丢失
- 三.防止消息丢失
- RabbitMQ防止消息丢失
- ehcache 让内容一直持久化在磁盘,防止异常丢失
- 使用rowversion防止更新丢失
- 如何防止网站数据丢失
- asp.net 防止session丢失
- kafka consumer防止数据丢失
- kafka consumer防止数据丢失
- java 异常丢失
- finally导致异常丢失
- Java的异常丢失
- ios 异常 防止崩溃
- java程序员从笨鸟到菜鸟之(四十三)线程之高级特性
- mysql数据类型解析
- ARM芯片windows10S跑x86,会洗牌吗
- react-native iOS打包APP
- 微信公众号开发(四)推送消息模板
- 防止异常丢失
- 一个主题教你改变MenuItemView的字体颜色
- 1014. 福尔摩斯的约会 (20)
- iOS App Singer 重签名工具
- CK40N:信息数统计不准确的问题处理: CKSU重算
- pagerslidingtabstrip的简单展示
- jQuery编写插件
- mysql 表高速缓存
- PHP分页问题