如果我使用一个using块,在其中创建一个对象(例如一个FileStream对象),但该对象无法创建(返回null,抛出异常等),那么块中的代码仍然执行吗?
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
// do stuff with fs here
}
// do more stuff after
如果FileStream构造函数返回null(如果FileStream构造函数总是返回有效对象,为了简单起见,我们假设可能返回null),那么里面的代码会执行吗?还是会跳过“在这里使用fs进行处理”的代码?
using(null){}
可以编译和运行良好... - Ortiga