是否有可能捕获多个异常并在不使用多个catch语句的情况下对它们执行不同的逻辑?

Jak*_*ore 0 java exception java-7

至于在例外情况下执行不同的逻辑.如下:

catch (IOException e | IllegalArgumentException a) {

       e.doStuff();
       a.doStuff();
    }
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 5

不,你不能这样做.这是多个catch的用途.

|表单允许您将不同的异常类型组合在一起catch,但具有异常的公共变量.其目的是允许统一处理不同的异常类型.但是当您想要对不同类型进行不同的处理时,请使用多个catch块.