java异常处理中的return语句

son*_*nal 6 java exception-handling

如果执行不会导致异常,则控制转到finally块.那么JVM是否会忽略try块中的return语句?.或者如果发生异常,那么控制进入catch块也会忽略返回状态并且控制转到finally块并从最终返回

  public class Helper {
     public int showException(int a, int b){

           try{
           int c=a/b;
           return c;
           } catch(Exception e){
                return 0;
           } finally{
               return 3;
             }
     }
  }
Run Code Online (Sandbox Code Playgroud)

Par*_*rth 4

因为无论您输入 in还是 in ,finally每次都会执行 block ,我认为这就是为什么它被称为finally :)trycatch

来自Java 文档

当 try 块退出时,finally 块总是执行。这确保即使发生意外异常,finally 块也会被执行。

注意:只有当

如果 JVM 在执行 try 或 catch 代码时退出,则finally 块可能不会执行。同样,如果执行 try 或 catch 代码的线程被中断或终止,则即使整个应用程序继续运行,finally 块也可能不会执行。