如果一个函数中有多个函数抛出异常,它们互相依赖,最好的处理方式是什么?
这里的“依赖”指的是如果某个函数抛出异常,该函数后面的代码应该被跳过。
我想到了三种方法来处理: 1. 异常嵌套
这里的“依赖”指的是如果某个函数抛出异常,该函数后面的代码应该被跳过。
我想到了三种方法来处理: 1. 异常嵌套
public void parent() {
someFunction();
}
public void someFunction() {
try {
function1();
try {
function2();
...
} catch (Func2xception e) {
System.out.println("Function 2 failed!");
}
} catch (Func1Exception e) {
System.out.println("Function 1 failed!");
}
}
异常返回
public void parent() {
someFunction();
}
public void someFunction() {
try {
function1();
} catch (Func1Exception e) {
System.out.println("Function 1 failed!");
return;
}
try {
function2();
} catch (Func2xception e) {
System.out.println("Function 2 failed!");
return;
}
...
}
在方法签名中添加异常
public void parent() {
try {
someFunction();
} catch (Func1Exception e) {
System.out.println("Function 1 failed!");
} catch (Func2Exception e) {
System.out.println("Function 2 failed!");
} ...
}
public void someFunction() throws Func1Exception, Func2Exception {
function1();
function2();
...
}
我有时会把它们都一起使用,这很混乱。有没有关于如何处理这种情况的好方法?