为什么在Java中使用不同类型的异常?

Vin*_*mar 0 java exception

如果我的代码抛出异常,我只能在java中捕获一个异常.但为什么我们需要单独的例外(Nullpointer,classnotfound等)?如果我们只有一个例外而不是不同类型的例外,这样可以吗?如果我错了,请纠正我.

我在代码方面的问题如下.

class Test {
    void method(){
        try{
            // some code....
        }
        catch(Exception e){

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果Java允许我捕获泛型异常意味着为什么我们需要不同类型的异常?

孙兴斌*_*孙兴斌 5

因为有时我们需要做不同的事情,不同的例外.

try {
   doSomethingMightThrowException();
} catch (IOException e) {
    reConnect();
} catch (NullPointerException e) {
    createNewConnection();
} catch (IllegalStateException e) {
    doNotCare();
    justContinue();
}
Run Code Online (Sandbox Code Playgroud)