天天看點

初學者對finally的認知

finally的用法及注意事項

必然執行的異常統一的處理出口通俗點來講:無論是否發生異常,finally必然執行

1.finally作為異常處理的一部分,它一般用在try/catch語句中。

2.網絡程式設計,I/o處理,資料庫操作等 在執行這些操作時,都會發生異常。無論是網絡程式設計還是用戶端連接配接伺服器以及連資料庫占用資料庫時,都需要釋放,釋放在finally裡。

軟體在記憶體裡沒了,電腦停電關機這些因素的情況下才會不執行

否則一定會執行

package com.java.demo1;

public class Demo6 {

public static void main(String[] args) {

Person p = haha();

System.out.println(p.age);

}

public static Person haha(){

Person p = new Person();

try{

p.age = 18;

return p;

}catch(Exception e){

return null;

}finally {

p.age = 28;

static class Person{

int age;

初學者對finally的認知

這個代碼是備份的記憶體位址,記憶體位址沒變,年齡換成28,是以結果為28

public class Demo7 {

int a = haha();

System.out.println(a);

public static int haha(){

int a = 10;

return a;

a = 20;

return 0;

初學者對finally的認知

這個代碼是備份的傳回值,傳回的還是原來的a。這也就是引用類型和非應用類型的關系。

初學者對finally的認知