我的应用程序中有一些代码经常抛出错误(System.AccessViolationException) - 所以我将它包装在一个 try/catch 块中,并在 catch 元素中设置一个调试点和日志记录方法。我发现,自从我这样做以来,错误就停止了——调试点永远不会被命中,也没有任何记录。一旦我从代码中删除尝试,我就会再次收到错误。这可能是什么原因造成的?
代码非常简单:
try
{
var f1 = new ResizeNearestNeighbor(lfu.Width, lfu.Height);
var f2 = new Crop(ViewRectangle);
lfu = f2.Apply(lfu);
lfu = f1.Apply(lfu);
}
catch (Exception ex)
{
MainForm.LogExceptionToFile(ex);//never hit
}