我不明白什么时候使用multi catch。我看到一些帖子,编译时多捕获异常类型是多异常类型中最接近的超类型。
假设有异常类型 A、B 和它们最接近的超类型 C。
选项1
try{//whatever}
catch(A|B ex){//whatever}
选项 2
try{//whatever}
catch(C ex){//whatever}
选项 3
try{//whatever}
catch(A ex){//whatever}
catch(B ex){//whatever}
当抛出多个异常时,我们应该在哪些理想情况下使用上述选项?