首页 > 解决方案 > 我们可以将所有捕获从一个 try-catch-catch... 链转移到另一个函数以防止代码重复吗?

问题描述

我的这段代码带有一个在多个地方重复的 try-catch 链。

void fun1(){
    try{
        task1();
    }
    catch(Exception1 ex){
        handleEx1();
    }
    catch(Exception2 ex){
        handleEx2();
    }
    catch(Exception3 ex){
        handleEx3();
    }
    catch(Exception4 ex){
        handleEx4();
    }
}
void fun2(){
    try{
        task2();
    }
    catch(Exception1 ex){
        handleEx1();
    }
    catch(Exception2 ex){
        handleEx2();
    }
    catch(Exception3 ex){
        handleEx3();
    }
    catch(Exception4 ex){
        handleEx4();
    }
}

捕获链在多个地方使用,因此按原样重复使用。现在,是否建议或什至可以仅将捕获部分移动到不同的功能。

还有什么办法可以防止这种代码重复?

标签: javaexception

解决方案


推荐阅读