不過用了這麼久,忽然對一些地方有點疑惑,於是google了一下,把找到的結果memo在這邊
- 物件必須實作 IDisposable 介面,這樣在結束時才能自動呼叫 Dispose()
- 物件最好在using子句內宣告,而不要在using外宣告,避免using後的程式碼存取到該物件而造成例外。(因為物件已被Dispose)
- 因為 using 的特性是會呼叫 Dispose(),這會呼叫到 Close(),所以在 using 區塊中不要呼叫 Close(),避免因二次呼叫 Close() 而造成例外
- using裡只有try final,而沒有catch區塊,因此using不會捕捉及處理例外狀況,如果怕出現預期外的錯誤的話,要自己寫catch
資料來源