using 是捕获异常还是抛出异常?即
using (StreamReader rdr = File.OpenText("file.txt"))
{
//do stuff
}
如果 streamreader 抛出一个异常,它是被 using 捕获还是被抛出以便调用函数可以处理它?</p>
最佳答案
当您看到 using 语句时,请考虑以下代码:
StreadReader rdr = null;
try
{
rdr = File.OpenText("file.txt");
//do stuff
}
finally
{
if (rdr != null)
rdr.Dispose();
}
所以真正的答案是,除了在 using block 的主体中抛出的异常,它什么都不做。它不处理它或重新抛出它。
关于C# "Using"语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149609/