`

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

 
阅读更多

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

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

问题的实质是:挡在一个普通方法里调用别的方法时,要考虑到“我不知道该怎样处理这个异常但是我不想把它‘吞’了,或者打印一些无用的消息”。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!

相关推荐

    类型转换前检查

    否则,`is`检查将返回`false`,`str`不会被赋值,代码会跳过转换,避免了不必要的异常。 除了`is`关键字,还有其他方法可以进行类型检查,例如使用`GetType()`方法或者`typeof`运算符。但是,`is`通常更简洁,更...

    类型转换异常解决办法.md

    例如,将字符串转换为整数,当字符串不符合整数格式时就会抛出类型转换异常。为了解决这一问题,程序员需要采取多种措施,包括错误检查、异常处理以及使用合适的数据类型转换方法等。 错误检查是避免类型转换异常的...

    java 数字格式转换异常(NumberFornatException)

    在Java编程语言中,`NumberFormatException`是一个常见的运行时异常,它发生在尝试将字符串转换为特定数字类型(如`Integer`, `Double`, `Float`等)时,如果字符串不能被解析为对应类型的数值,就会抛出这个异常。...

    类型转换异常(解决方案).md

    类型转换异常是软件开发中常见的问题,特别是在使用强类型语言如Java时,不正确的类型转换会导致程序运行时出现错误。以下是几种常见的解决类型转换异常的方法,并附有Java语言的代码示例: 1. 使用条件判断进行...

    类型转换异常如何解决.md

    类型转换异常通常发生在程序尝试将一个对象从一种数据类型转换为另一种数据类型时,而这种转换在语言层面或逻辑上是不支持的。在编程中,尤其是像Java这样的静态类型语言,这样的异常会直接导致程序运行失败。为了...

    C# 捕获C/C++异常的例子

    此外,由于C++异常不总是对象,所以可能需要额外的适配器或包装器来桥接这两种语言。 C#的`SafeHandle`和`CriticalFinalizerObject`类可以帮助管理C++资源,确保在不再需要时安全地释放。同时,`__declspec(dll...

    Python异常处理(课件)

    常见的Python异常包括IndexError(索引超出范围)、TypeError(操作符或函数应用于不兼容的类型)、KeyError(访问字典中不存在的键)、ValueError(值错误,如将非数字字符串转换为整数)、NameError(使用了未定义...

    类型转换异常解决办法啊

    在处理编程中的类型转换异常时,主要关注的是确保程序在执行过程中涉及的数据类型能够正确地相互转换和使用。Python作为一门动态类型语言,虽然在类型方面提供了较高的灵活性,但在涉及不同数据类型交互时,仍需注意...

    易语言线程结构异常处理

    SE保护内存读写异常通常涉及到线程尝试访问已被系统标记为不可用的内存区域。在易语言中,可以通过设置相应的保护机制来避免这种情况,例如,在读写内存之前检查内存的有效性,或者使用异常处理函数来捕获并处理此类...

    FLEX强制类型转换

    6. **类型转换与异常处理**:在进行类型转换时,可以结合异常处理机制来更好地管理可能出现的问题。 #### 五、总结 通过上述介绍,我们可以看到FLEX中的强制类型转换是一个非常实用的功能。无论是使用`as`关键字...

    Java习题_异常相关的习题_chap11.pdf

    未检查异常(Unchecked Exception),也被称为运行时异常,包括RuntimeException及其子类,如NullPointerException或ArrayIndexOutOfBoundsException,这些异常不需要在编译时期强制处理。 2. 异常的产生和传递 - ...

    java异常详解

    如果可能,将这些已检查异常转换为更通用的、与业务逻辑相关的已检查异常,或者转化为未检查异常,这样可以降低不同层之间的耦合,提高代码的可维护性。 总的来说,理解并熟练运用Java异常处理机制是编写健壮、可...

    Struts处理类型转换错误,如时间转换

    - **自定义转换器**:你可以创建自定义的转换器,重写`convertIfNecessary`方法,当尝试将字符串转换为日期时,添加对非法日期格式的检查和处理。 - **使用拦截器**:Struts2的拦截器机制允许在请求处理之前或之后...

    JAVA实验九异常处理.pdf

    在方法重写时,子类方法抛出的检查型异常不能比超类方法声明的异常类型范围更广。这意味着子类方法必须兼容或提供相同类型的异常处理机制。 8. 异常类的继承结构: 在Java中,所有的异常都继承自Throwable类,它有...

    精讲RestTemplate自定义请求失败异常处理.docx

    默认实现`DefaultResponseErrorHandler`会检查响应的状态码,如果状态码不在200状态码段,就会抛出异常,如`HttpClientErrorException`或`HttpServerErrorException`。 1. `ResponseErrorHandler`接口有两个关键...

    Java常见异常大全.pdf

    检查型异常是指那些在编译时必须要被捕捉或声明抛出的异常,这些异常通常可以预料且可以恢复,如IOException。非检查型异常则包括Error和RuntimeException及其子类,这类异常编译器不会强制要求处理,因为它们通常是...

    利用TEQC的格式转换、数据编辑、质量检查功能写的可视化程序

    用户只需指定数据目录,程序会自动遍历所有文件,依次执行格式转换、数据编辑和质量检查,并将结果汇总到一个Excel文件中。同时,结果的可视化显示使得用户能够快速理解和解析检查结果,便于及时发现问题并进行修正...

Global site tag (gtag.js) - Google Analytics