Java try與finally的說明

2021-07-11 05:43:04 字數 1220 閱讀 6279

任何呼叫try 或者catch中的return語句之前,都會先執行finally語句,當然前提是finally存在。如果finally中有return語句,那麼程式就return了,所以finally中的return是一定會被return的,編譯器把finally中的return實現為乙個warning。

package exercise;

/** * 基本型別測試try,finally

*@author administrator

**/public

class

testreturnandfinally

static

int test()

finally

}}結果:

1

解釋:對於例一來說,一開始現在棧中存放了乙個值為1的變數x,return x執行完了以後,x存到了暫存器中,接著執行++x,此時x的值為2,接著又執行return x,此時暫存器中的值被返回出去了,棧銷毀。

// 引用型別測試try,finally

public

class testreturnandfinally

static stringbuffer test()

finally

}}結果:

xwy

//普通類

public

class

quote

/** * 引用型別中的基本型別測試try,finally

**/public

class

testreturnandfinally

static string test()

finally

}}測試結果:

x

請讀者根據輸出的位址值區仔細領悟x和x.tostring.

finally**塊:定義一定執行的**,通常用於關閉資源。

try…..catch一般有三種格式:

//第乙個格式:

trycatch()

//第二個格式:

trycatch()

finally

//第三個格式:

tryfinally

//記住一點:catch是用於處理異常。如果沒有catch就代表異常沒有被處理過。如果該異常是檢測時異常。那麼必須宣告。

Java try和finally的用法

在 中,可以使用try 塊進行防止錯誤導致應用崩潰 try 這時,在try後面的大括號位置就會報錯,這是因為try語句需要和catch語句一起使用 try catch exception e try和catch兩者是不可分開的,如果try裡面丟擲了異常,catch就會捕捉到這個異常,執行catch內...

finally塊與拋異常

複習一下finally塊裡有return和try拋異常的程式執行順序問題.首先看乙個測試例子 public class finallytrytest public static int testfinally catch exception e finally 在執行之前先簡單分析一下,可能會說這麼...

Java中finally與return的執行順序

finally不會執行的兩種情況 1.finally對應的try塊語句還沒被執行到就返回了2.finally對應的try塊語句中有system.exit 這樣的語句 finally塊的語句在try或catch中的return語句 執行之後返回之前執行 若finally裡也有return語句,則 覆蓋...