是否有可能从方法返回让我们说

时间:2013-01-01 07:15:43

标签: java exception methods return

有f1,f2和f3这三种方法。我想从f3返回到f1。

假设:

  

最初f1调用f2

     

f2调用f3。

     

尝试使用catch块应该在所有这三个函数中使用。

如果我在f3中得到异常,那么我应该能够返回到f1。

感谢。

4 个答案:

答案 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();


    }
}