1. 程式人生 > >java中finally關鍵字的用處

java中finally關鍵字的用處

在java中的finally關鍵一般與try一起使用,在程式進入try塊之後,無論程式是因為異常而中止或其它方式返回終止的,finally塊的內容一定會被執行,寫個例子來說明下:
package com.teedry.base;

public class TryAndFinallyTest {

	public static void main(String[] args) throws Exception{
		try{
		int a = testFinally(2);
		System.out.println("異常返回的結果a:"+a);
		}catch(Exception e){
			int b = testFinally(1);
			System.out.println("正常返回的結果b:"+b);
		}
		int b = testFinally(3);
		System.out.println("break返回的結果:"+b);
		
		 b = testFinally(4);
		System.out.println("return返回的結果:"+b);
		
	}
	
	static int testFinally(int i) throws Exception{
		int flag = i;
		try{//一旦進去try範圍無論程式是丟擲異常或其它中斷情況,finally的內容都會被執行
			switch(i){
				case 1:++i;break;//程式 正常結束
				case 2:throw new Exception("測試下異常情況");
				case 3:break;
				default :return -1;
			}
		}finally{
			System.out.println("finally coming when i="+flag);
		}
		return i;
	}
}

執行結果如下:

finally coming when i=2
finally coming when i=1
正常返回的結果b:2
finally coming when i=3
break返回的結果:3
finally coming when i=4
return返回的結果:-1

結果說明無論上述什麼情況,finally塊總會被執行。 

相關推薦

javafinally關鍵字用處

在java中的finally關鍵一般與try一起使用,在程式進入try塊之後,無論程式是因為異常而中止或其它方式返回終止的,finally塊的內容一定會被執行,寫個例子來說明下:package com.teedry.base; public class TryAndFin

JAVAthis關鍵字的用法

blog http tro font return his 局部變量 .com str this關鍵字主要有三個應用: 1.調用本類中的屬性,也就是類的成員變量; 2.調用本類中的其他方法; 3.調用本類中的其他構造方法,調用時候要放在構造方法的首行。 * this關鍵

就是要你懂Javavolatile關鍵字實現原理

stub string home 技術分享 訪問速度 get 地址傳遞 code 緩沖 原文地址http://www.cnblogs.com/xrq730/p/7048693.html,轉載請註明出處,謝謝 前言 我們知道volatile關鍵字的作用是保證變量在多線程之

javavolatile關鍵字的含義

能夠 system 內存區域 退出 tro 技術 2.4 虛擬機 們的 在java線程並發處理中,有一個關鍵字volatile的使用目前存在很大的混淆,以為使用這個關鍵字,在進行多線程並發處理的時候就可以萬事大吉。 Java語言是支持多線程的,為了解決線程並發的問題,在語

Javastatic關鍵字用法總結

副本 大括號 跟著 rac clas main 靜態成員變量 abstract 全局變量 1. 靜態方法 通常,在一個類中定義一個方法為static,那就是說,無需本類的對象即可調用此方法 聲明為static的方法有以下幾條限制: · 它們僅能調用其他的sta

Javainstanceof關鍵字的用法總結

animal copy false 運算 erl 一個 strong 以及 繼承 instanceof是Java的一個二元操作符,和==,>,<是同一類東東。由於它是由字母組成的,所以也是Java的保留關鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實例,

[轉] javavolatile關鍵字的含義

讀取 add 由於 tar 並不是 ges 內部 post 計數 在java線程並發處理中,有一個關鍵字volatile的使用目前存在很大的混淆,以為使用這個關鍵字,在進行多線程並發處理的時候就可以萬事大吉。 Java語言是支持多線程的,為了解決線程並發的問題,在

Javasynchronized關鍵字理解

監視器 pre 定義 exc 執行 zed 三種 gen 好記性不如爛筆頭 好記性不如爛筆頭~~ 並發編程中synchronized關鍵字的地位很重要,很多人都稱它為重量級鎖。利用synchronized實現同步的基礎:Java中每一個對象都可以作為鎖。具體表現為以下三種形

Javainstanceof關鍵字的用法

m60 cin .com 關鍵字 adr www. zdb kms http f72o1u前盞彜渦踴促http://shequ.docin.com/mym827424fzhy9晨撈晨詡鷗淹http://www.docin.com/rww41025xh82bc僭攀潭倜歡稱ht

Javavolatile關鍵字實現原理

三級 poll 解讀 內存屏障 就會 主存 發生 調用 獲得 原文地址http://www.cnblogs.com/xrq730/p/7048693.html,轉載請註明出處,謝謝 前言 我們知道volatile關鍵字的作用是保證變量在多線程之間的可見性,它是ja

隨筆② Java關鍵字 --- final關鍵字

初始 編譯 this 集合 div 緩存 nal ext 環境 一:final關鍵字 ① final變量:凡是對成員變量或者本地變量(在方法中的或者代碼塊中的變量稱為本地變量)聲明為final的都叫作final變量。final變量經常和static關鍵字一起使用,作為常量。

隨筆14 java關鍵字

this div .cn ges -1 style class clas ron 一:java中的關鍵字列表 二:super關鍵字 super關鍵字在子類內部使用,代表父類對象。 訪問父類的屬性 super.屬性名 訪問父類的方法 super.方法名() 子類構

Javathis關鍵字的使用

成員變量 用法 表示 當前 重載 說明 可讀性 舉例 調用構造 說明:this用於指向調用該方法的當前對象。 用法: 1. this.成員變量 ------ 表示訪問當前對象的成員變量 2. this() ------

javafinal關鍵字

成員變量 子類 void color 需要 sta new 根據 基本用法 在Java中,final關鍵字可以用來修飾類、方法和變量(包括成員變量和局部變量)。下面就從這三個方面來了解一下final關鍵字的基本用法。 1.修飾類   當用final修飾一個類時,表明這個類

Java關鍵字 transient

puts amp 存儲 style object code pin map 這一 在討論transient之前,有必要先搞清楚Java中序列化的含義; Java中對象的序列化指的是將對象轉換成以字節序列的形式來表示,這些字節序列包含了對象的數據和信息,一個序列化後的對象可以

Java 關鍵字和保留字

width interface continue rac borde ctf got break order 關鍵字: Java 語言中已經事先定義好了的,有著特殊含義和用途 訪問控制 類、方法和變量修飾符 程序控制 異常處理 包相關 基本類型 變量引用 publ

解析Javafinal關鍵字的各種用法

col 後序 blog str 訪問 人類 依然 fin 可能 首先,我們可以從字面上理解一下final這個英文單詞的中文含義:“最後的,最終的; 決定性的; 不可更改的;”。顯然,final關鍵詞如果用中文來解釋,“不可更改的”更為合適。當你在編寫程序,可能

幹貨——詳解Java關鍵字

java虛擬機 color bsp cfi 為什麽 max main spa 不能 在平時編碼中,我們可能只註意了這些static,final,volatile等關鍵字的使用,忽略了他們的細節,更深層次的意義。 本文總結了Java中所有常見的關鍵字以及一些例子。

Javastatic關鍵字解析

地方 通過 特性 inf 優化 href compare 筆試 star Java中的static關鍵字解析   static關鍵字是很多朋友在編寫代碼和閱讀代碼時碰到的比較難以理解的一個關鍵字,也是各大公司的面試官喜歡在面試時問到的知識點之一。下面就先講述一下static

javafinally有什麽意義呢,在現實?舉例

就是 inpu size test let mar apt 什麽 println 馬克-to-win: (視頻下載) (全部書籍)finally有什麽意義呢,在現實中?比如你開了一個流處理文件,可能沒開成功,或開成功了,但後面的操作失敗了,但不管你怎麽樣,你必須在一個地兒把