有f1,f2和f3这三种方法。我想从f3返回到f1。
假设:
最初f1调用f2
f2调用f3。
尝试使用catch块应该在所有这三个函数中使用。
如果我在f3中得到异常,那么我应该能够返回到f1。
感谢。
答案 0 :(得分:3)
尝试..
void f1(){
try{
f2();
}catch(Exception er){}
system.out.println("Exception...");
}
void f2() throws Exception{
f3();
}
void f3() throws Exception{
//on some condition
throw new Exception("something failed");
}
答案 1 :(得分:1)
catch(Exception e) {
return;
}
您可以在f2中捕获异常并添加return以使其转到f1。或者只是不捕获f2中的异常(只需在f2中添加抛出)并让它传播到f1。
答案 2 :(得分:1)
试
public void f1(){
f2();
// f3 failed. other code here
}
public void f2(){
try {
f3();
} catch (Exception e){
// Log your exception here
}
return;
}
public void f3(){
throw new Exception("Error:");
}
答案 3 :(得分:0)
检查类似这样的内容
void f1() throws Exception {
try {
f2();
} catch (Exception e) {
throw new Exception("Exception Ocuured");
}
}
void f2() throws Exception {
try {
f3();
} catch (Exception e) {
throw new Exception("Exception Ocuured");
}
}
void f3() throws Exception {
try {
// Do Some work here
} catch (Exception e) {
f1();
}
}