为什么我不能在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