私は今日、私が予期していなかった言語行動に出くわしました。今、私はその理由を知りたがっています。次の例を考えてみましょう。
try
{
worksheet.AddCell(row, cell++, image.DisplayCaption());
}
catch (NullReferenceException)
{
cell++;
throw;
}
私の例では、image
はnullであったため、この行はNullReferenceException
;をスローしました。ただし、cell
それでもインクリメントされ、もちろん、catchブロックで再びインクリメントされました。最初のポストインクリメント操作が実行されたのはなぜですか?worksheet
また、 nullの場合は実行されたのでしょうか?
ありがとう、ピート