java - 为什么在方法中抛出一般异常是不好的?

标签 java exception

为什么在 Java 中通过方法抛出一般异常是一种不好的做法?

    class Test{
        public void ex() throws Exception{
            //...some code throwing for eg. IllegalAccesException()
        }     
    }

最佳答案

当你通过方法抛出异常时,你通常应该知道它是什么类型的异常。如果抛出一般异常而不是特定异常,则在捕获引发的异常时,您将丢失异常的特定细节。

例如,Float.parseFloat() 抛出:

1) NullPointerException --> 如果字符串为空

2) NumberFormatException --> 如果字符串不包含可解析的 float 。

如果要抛出一般“Exception”而不是“NullPointerException”和“NumberFormatException”,则无法知道引发异常是否是因为字符串为空或字符串包含不可解析的浮点值。

关于java - 为什么在方法中抛出一般异常是不好的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39500595/

相关文章:

java - 将字符串转换为十六进制的字符集是什么?

php - LaravelCollective SSH try catch 异常失败

java - java如何捕获java内部的退出代码?

javascript - Chrome 中的非法访问 Javascript 错误

java - 如何组织类(class)、包

java - 编辑文本键盘在双击 grrrrr 时消失

java - 使用 Dozer 如何复制 java 对象内的集合但跳过对象本身

java - 如何在 Java 的数组中按字母顺序对自定义对象进行排序?

C++ 异常,thow const char* 类型并捕获

java - 提供的 .class 文件中出现 NoClassDefFoundException