如果我有一个 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 做事”代码?