0

有 f1、f2 和 f3 3 种方法。我想从f3返回到f1。

假设:

最初 f1 调用 f2

f2 调用 f3。

Try catch 块应该用在所有三个函数中。

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

谢谢。

4

4 回答 4

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");

}
于 2013-01-01T07:19:11.740 回答
1
catch(Exception e) { 
return;
}

您可以在 f2 中捕获异常并添加 return,以便它将转到 f1。或者只是不捕获 f2 中的异常(只需在 f2 中添加 throws)并让它传播到 f1。

于 2013-01-01T07:18:11.577 回答
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:");
}
于 2013-01-01T07:34:33.130 回答
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();


    }
}
于 2013-01-01T07:53:08.543 回答