尽管存在 HandleProcessCorruptedStateExceptions,但未捕获 AccessViolationException

AccessViolationException not caught despite HandleProcessCorruptedStateExceptions

我很纳闷。 AccessViolationException 由第三方库随机引发。可以安全地忽略它,因此我按照建议 .

将调用方法包装在 [HandleProcessCorruptedStateExceptions] 属性中

但是,我仍然看到异常被引​​发,如下所示:

我正在使用 .NET Framework 4.6.2 和 Visual Studio 2015 Update 3。我可能错过了什么?

您忘记在 table.Start() 周围插入 try/catch

[HandleProcessCorruptedStateExceptions] 肯定需要一个 try/catch 来捕捉 AccessViolationException.

所以你的代码应该是:

[HandleProcessCorruptedStateExceptions]
private static void StartTable(Table table) {
    try
    {
        table.Start();
    }
    catch (AccessViolationException)
    {
        // Ignore
    }
}

您可以查看 or here 以供参考。