Hay declaraciones de retorno en el bloque de declaraciones try y en el bloque de declaraciones catch , pero no hay una declaración de retorno en el bloque de declaraciones finalmente y hay una excepción .
El código es el siguiente:
publicclassMain{publicstaticvoidmain(String[]args){System.out.println(test3());}publicstaticinttest3(){inti=10;try{System.out.println(try Statement);intj=10/0;return- -i;}catch(Exceptione){System.out.println(declaración catch);return--i;}finally{System.out.println(declaración final);}}}
Los resultados de ejecución son los siguientes:
declaración de prueba declaración de captura declaración finalmente 9
Orden de ejecución:
1. Primero ejecute la declaración en el bloque try, si ocurre una excepción, capture la excepción.
2. Ejecute las declaraciones en el bloque catch, incluida la operación de expresión en la declaración de devolución, pero no regrese.
3. Ejecute todo el código en el bloque de declaración finalmente.
4. Finalmente, ejecute return en el bloque catch.