爲什麼我不能在try
塊中分配對象變量?爲什麼我不能在try塊中分配對象變量?
如果我試圖做到這一點,清理在finally
塊我得到一個編譯錯誤變量:「使用未分配的局部變量的」。這是沒有意義的,因爲變量是在try
塊之前聲明的,而在finally
塊中,我首先檢查變量是否爲null
。
爲什麼不能編譯下面的代碼?我正在檢查dbc
是否爲null
,因此沒有機會嘗試使用未分配的變量進行操作。
如:
DbConnection dbc;
try {
dbc = <some method call returning an open DbConnection>
// do stuff
} catch (Exception e) { // do stuff }
finally {
if (dbc != null) {
dbc.Close();
}
}
怎樣去除設置關鍵字? – SteveCav 2010-08-11 03:08:45
也許相關:http://stackoverflow.com/questions/94977/why-arent-variables-declared-in-try-in-scope-in-catch-or-finally – cofiem 2010-08-11 03:10:24
我敢打賭,Jon Skeet會從無處出現,獲得最佳答案獎。打哈欠。 – 2010-08-11 03:21:23