解答一下有关JAVA异常类的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解答一下有关JAVA异常类的问题?相关的知识,希望对你有一定的参考价值。

(1)是否可以将try…catch语句中catch捕获的异常更改为Exception?(2)是否可以将try…catch语句中catch捕获的异常更改为java.io.IOException?问题参照图中代码,最好能简要说明一下

    问题(1)可以改为Exception

    问题(2)示情况而定是否可以改为IOException

    原因,原语句中的try...catch..的语义是在try里面的两行语句中捕获可能抛出的DangerException异常并加以处理,

    (1). Exception是DangerException的父类,替换后语义变为了在try里面的两行语句中捕获可能抛出的Exception异常并加以处理,语义是正确的;

    (2). IOException不确定是不是DangerException的父类,替换后语义变为了在try里面的两行语句中捕获可能抛出的IOException异常并加以处理,语义不一定正确,如果IOException是DangerException的父类,就是正确的,否则是错误的(在try里面没有IOException的类型可能被抛出),在编译时会报错(Exception 'java.io.IOException' is never thrown in the corresponding try block)

参考技术A

都不可以.

无论是用Exception,还是用IOException ,直接替换原来代码中的 DangerException ,会报编译错误.因为 DangerException 是一个自定义异常,并且定义了一个toShow()方法,无论是Exception 还是 IOException 类 都是没有这个方法的,所以直接替换是一定会报错的

以上是关于解答一下有关JAVA异常类的问题?的主要内容,如果未能解决你的问题,请参考以下文章

java异常类关系

java中的异常处理问题??

最最最全面的Java异常面试及解答

客户端调用web Service时抛出 java.lang.reflect.InvocationTargetException 异常

201671010114 2016-2017-2 《Java程序设计》第九周学习总结

Java 求大神们解答:自定义异常,处理异常