从try块跳转到finally块

Bac*_*h36 2 java

我正在尝试执行以下操作:

String txt = "begin\n";

try{

    // some stuff

    if(some condition)
        JUMP TO FINALLY CODE

    // some other stuff

} finally {

    String txt += "end\n";
    return txt;

}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在JUMP TO FINALLY CODE不引发异常的情况下实现(在我看来,提出异常看起来并不干净)

sol*_*4me 8

是的,一种方法是return从这样的方法

String txt = "begin\n";

    try{

        // some stuff

        if(some condition)
            return;

        // some other stuff

    } finally {

        String txt += "end\n";

    }
Run Code Online (Sandbox Code Playgroud)

  • 嗯,你会在'finally`之后错过这个部分.该方法将在运行`finally`代码块后暂停. (3认同)

Ruc*_*era 5

不需要任何方法来跳转,finally因为这里总是finally阻止执行.是否有Exception.

return如果你不想执行代码行,你可以使用a

 try {
      if(isThisShouldReturn()){
          return; // when if satisfied will return from try
      } else {
          // do the stuff
      }
  }finally {
      System.out.println("come to finally");
  }
Run Code Online (Sandbox Code Playgroud)