Java finally关键字

Java finally教程

Java 异常语法 里面我们了解了 finally 关键字,它需要和 try…catch 或者 try 一起使用。无论 try 中或者 catch 里面什么样的情况,fianlly 里面的语句都会执行。

Java finally

语法

try{ //do something }catch(Exception e){ // catch 代码块可以加可以不加 }finally{ //do something }

说明

finally 是必须和 try 一起的,catch 代码块可以有也可以没有。无论 try 或者 catch 里面执行什么样子,finally 都会执行。

案例

try…finally

package com.haicoder.net.except; public class ExceptionTest { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); System.out.println("程序开始"); try { int i = 2; int j = 0; int m = i / j; } finally { System.out.println(""); System.out.println("我是 finally 语句"); } System.out.println("程序结束"); } }

运行结果如下

07 finally.png

在 try 后面直接加了 finally。虽然 try 执行错了,抛出了异常,但是 finally 里面的代码块还是执行了。由于只有 try,没有将异常信息 catch 住,所以 finally 后面的逻辑语句没有继续执行了。

Try…catch…finally

package com.haicoder.net.except; public class ExceptionTest { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); System.out.println("程序开始"); try { int i = 2; int j = 0; int m = i / j; } catch (Exception e) { System.out.println("异常信息:" + e.getMessage()); System.out.println("=================="); e.printStackTrace(); }finally { System.out.println(""); System.out.println("我是 finally 语句"); } System.out.println("程序结束"); } }

运行结果如下

08 finally catch.png

catch 将异常信息捕获住了,所以代码的逻辑都执行了,finally 里面的代码逻辑也执行了。

Java finally总结

在 try 语句块后面,无论 try 里面有没有异常,finally 里面的代码块都会执行。