Using 語句中出現異常,資源能夠被釋放嗎?

2021-09-24 10:52:34 字數 710 閱讀 1520

using語句在.net中常用來釋放實現system.idisposable介面的類的例項的資源。但是如果在using語句**現異常,該資源是否能夠被正確釋放?

以下通過**來證明:

namespace usingdemo

private void test()

} void button2click(object sender, eventargs e) }

public class usingtest:idisposable

public void dispose()

}}

測試結果:顯示【啟動】>> 程式奔潰

namespace usingdemo

private void test()

} void button2click(object sender, eventargs e)

catch (exception ex)

} }public class usingtest:idisposable

public void dispose()

}}

測試結果:顯示【啟動】>> 【異常處理】>> 【test】

結論:呼叫這使用try...catch時,using語句內的資源能夠被正確釋放。但如果未使用try...catch,程式直接奔潰,資源不會被釋放。

不要在using語句中呼叫WCF服務

如果你呼叫wcf服務時,像下面的 這樣在using語句中進行呼叫,需要注意乙個問題。using cnblogswcfclient client new cnblogswcfclient 上面這段 看上去沒問題,cnblogswcfclient是乙個自動生成的wcf客戶端 繼承自system.serv...

判斷語句中出現if else執行特點

在if.else判斷語句使用如下時 public static char getlevel int num if num 80 num 89 if num 70 num 79 if num 60 num 69 else system.out.println level return level pu...

using 指令 和 using 語句 C

using 指令 c 參考 visual studio 2010 using 指令有兩個用途 允許在命名空間中使用型別,這樣,您就不必在該命名空間中限定某個型別的使用 using system.text 為命名空間或型別建立別名。這稱為 using 別名指令 using project pc.myc...