为什么在 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/