我今天遇到了一种出乎我意料的语言行为。现在我很想知道为什么。考虑以下示例:
try
{
worksheet.AddCell(row, cell++, image.DisplayCaption());
}
catch (NullReferenceException)
{
cell++;
throw;
}
在我的示例中,image
是 null 导致该行抛出一个NullReferenceException
; 但是,cell
仍然递增,当然,它在 catch 块中再次递增。为什么执行第一个后自增操作?另外,如果worksheet
为null,它会被执行吗?
谢谢,皮特