所以,如果我有这样的事情:
try
{
variable = Image.FromFile("Image1");
variable2 = Image.FromFile("Image2");
variable3 = Image.FromFile("Image3");
}
catch (Exception e) { }
Run Code Online (Sandbox Code Playgroud)
如果第二行抛出异常会发生什么?变量1是否正确分配而不是2或3?或者它会在处理异常后尝试做3吗?
由于所有变量都是try块的本地(作用域),因此无关紧要,因为您无法访问块外的任何变量.
当Exception遇到一个控件被转移到最内层时catch,没有办法忽略它并继续下一个语句.
更新
随着你的变化,如果第二次FromFile投掷,那么variable将有一个Image.变量2/3将看不到变化(因此很可能为空).