`

如何把“被检查的异常”转换到“不检查的异常”

 
阅读更多

如何把“被检查的异常”转换到“不检查的异常”

在编写程序时,可以从方法中直接抛出异常,但这不是通用的方法。

问题的实质是:挡在一个普通方法里调用别的方法时,要考虑到“我不知道该怎样处理这个异常但是我不想把它‘吞’了,或者打印一些无用的消息”。JDK1.4的异常链提供了一种新德思路来解决这个问题,那就是:直接把“被检查的异常”包装到RuntimeException里面,示例代码如下:

try{
     //。。。to do somthing useful
}catch(IDon'tKnowWhatToDoWithThisCheckedException e){
     throw new RuntimeException(e);
}

 这种方法不用“吞下”异常,也不必把它放到方法的异常说明里面,而异常链还能保证你不会丢失任何原始的异常信息。

【java 编程思想 读书笔记】

1
4
分享到:
评论
2 楼 kissyssong 2011-09-15  
呵呵,:D
1 楼 w7little 2011-08-18  
great!

相关推荐

    论文研究-制造过程不确定质量异常诊断的Stateflow方法.pdf

    通过建立模糊推理规则与Stateflow元素之间的映射关系, 将模糊推理Petri网模型转换为便于仿真的Stateflow模型, 模型以质量控制图异常模式数据作为输入, 实现不确定质量异常诊断过程的动态展示. 某工件加工过程不确定...

    《RapidMiner数据分析与挖掘实战》第7章 数据预处理

    海量的原始数据中存在着大量不完整(有缺失值)、不一致、有异常的数据,严重影响到数据挖掘建模的执行效率,甚至可能导致挖掘结果的偏差,所以进行数据清洗就显得尤为重要,数据清洗完成后接着进行或者同时进行数据...

    checked-exception-wrapper-gradle-plugin:用于创建处理库中检查异常的包装类的 gradle 插件

    已检查异常包装器-gradle-plugin 用于创建处理库中检查异常的包装类的 gradle 插件 它能做什么 插件分析将创建源 java 文件的副本。 任何声明异常的方法都将按以下方式转换: 旧的(MyClass.java) public void ...

    JSTL详细标签库介绍

    如找不到,那么:<BR><BR>命令行APP/控制台APP(不基于GUI),当异常不能被“捕获”,那么该程序会运行默认异常处理程序,退出JAVA,若Applet或基于GUI的APP,当一个异常未被“捕获”,GUI在运行默认异常处理程序...

    7instantsof对象造型虚方法调用.rar

    2.可以执行类型转换“子=(子)父”,但需要运行时进行检查。如果父类变量引用的是正确的子类型,赋值将执行。如果父类变量引用的是不相关的子类型,将会生成class castException异常。 即:如果父类的实例是在子类...

    非阿贝尔规范背景中的Weyl费米子和痕迹异常

    我们在四个维度上研究了非阿贝尔规范背景下的Weyl费米子的痕迹和手性异常。 通过使用Pauli-Villars正则化,我们... 特别是,我们发现跟踪异常不包含任何奇偶奇数个拓扑贡献,在最近的文献中对它们的存在进行了辩论。

    Delphi开发技巧之-其他

    RGB和TColor相互转换 交换鼠标按键 从动态数组中删除一项 位操作 使桌面图标文字透明 使用CD-ROM自动运行功能 使用CHM帮助文件 使用ESC键关闭应用程序 使用TAPI拨电话号码 使用批处理编译Delphi工程 创建二进制资源...

    C#基础之数据类型转换

    int x; long y = 123456789101112;...像这样有可能造成数据丢失或引发异常的任何转换都需要执行显式转换(explicit); 相反的就是执行隐式转换(implicit).  用chencked检查上面的代码 从图得知上面的

    ET:一个用于异常翻译的小型 Java 实用程序库

    ET ET 是一个用于异常转换/翻译的小型 Java 8+ 库。动机有时,每个 Java 开发人员都需要将X类型的异常转换为Y类型。 这类代码通常如下所示: try { // code that can throw SomeException throw new SomeException ...

    实验二 预处理部分地区信息

    一、 实验目的(1)掌握数据...(3)检查异常值,一旦发现数据中存在异常值,通常先要对照原始数据进一步确认,如果是错误的数值,则直接使用正确的数值进行替换即可。 三、 实验步骤 1. 2. 3.四、 实验结论 1. 2. 3.

    引号转换-易语言

    功能: 普通文本转换易文本 易文本转换成普通文本 带历史记录 示例 : 普通文本转换易文本 ...版本 2 信息框 (“请检查网络是否正常1、服务器已关闭2、本机网络异常”, 0, “无法登录”, _启动窗口)

    DWG文件异常增大问题的解决

    如果您在加载 DgnLsPurge.dll 时遇到问题,请检查 .dll 文件的特性,方法是选择该文件、单击 鼠标右键,然后选择“特性”。在某些情况下,系统的安全设置可能阻止加载 .dll。如果是这种 情况,可以通过选择特性的...

    C++初学者指南(原版)

    C++ 语言不定义内置字符串数据类型。相反,字符串作为字符数组实现。指针是包含内存地址的对象。通常,指针用于访问另一个对象的值。 第 5 章:函数简介 此模块开始深度探讨函数。函数是 C++ 的构建基块,深入理解...

    gtlamtest:G 't Lam 的方差异常值检验。-matlab开发

    Cochran 提出了一种单边上限方差异常值检验来检查同方差性。 称为 C 检验用于确定单个方差估计是否显着大于一组方差并考虑范围内的所有方差。 然而,正如't Lam (2010) 指出的那样,C 检验有局限性。 它仅适用于...

    Delphi开发技巧之-数据库

    不使用OLE将TDBGrid输出到excel 为不同的SQL服务器改变DateTime格式 使用ADO找回所有数据库表 使用OLE自动化创建ADODB连接 使用SQL创建自动增量 使用SQL快速创建Paradox table 使用TBlobStream保存文件 创建能自动...

    checklist 学习资料 学习资料

    2 循环边界检查 循环体若存在数组,确认数组下标不越界 循环是否存在死循环的可能 循环计数器是否存在多循环(+/-)1次可能 3 数组下标检查 循环体内、体外时的数组下标计算是否正确 宏定义包含数组操作时下标是否...

    服务器和IT设备日常维护.doc

    硬盘原来工作正常,现在发出异常声音,硬盘检测不到或工作不稳定,基本可以断定硬盘有 故障。 内存常见问题 系统安装不成功或在系统安装过程正常的情况下,安装应用软件困难,无缘无故死机或重 起,请检测内存好坏。 BIOS...

    NC(UFIDA)错误帮助文档加强版

    后台VO转换的基类nc.bs.pf.change.VOConversion 检查引用类nc.bs.trade.comchkref.CheckRef 业务异常nc.vo.pub.BusinessException类 第二节 开发问题集 UI工厂分为哪几大基本模块? 怎样配置eclipse参数? 单据开发...

    Python中实现参数类型检查的简单方法

    void类型强制转换在C++中被广泛地认为是个坏习惯,不到万不得已是不会使用的。 Python自然没有类型强制转换一说了,因为它是动态语言。首先,所有对象都从Object继承而来,其次,它有强大的内省,如果调用某个不存在...

    corejava培训文档

    8.8. 一些未检查的异常 8.9. 写你自己的异常 8.10. 抛出你自己的异常 9. 八 图形用户接口 10. 九 AWT(Abstract Window Toolkit) 事件模型 11. 十 The AWT Component Library 12. 十一 JFC(Java ...

Global site tag (gtag.js) - Google Analytics