0

每次库打开某个文件时,第三方库都会导致 AccessViolationException。我正在尝试遍历数千个文件,因此捕获异常,将项目添加到不打开的文件列表中并继续会很有用。但是,异常不会被 catch(Exception e) 块捕获,也不会被特定的 catch(AccessViolationException ave) 块捕获。

在对另一个问题的评论中,John Saunders 建议可以捕获 AccessViolationException,但不应该这样做。

程序员要做什么?

4

1 回答 1

3

您可能不想捕获一个AccessViolationException,唯一的原因是您不能保证异常没有破坏您的应用程序的状态。

默认情况下,由于上述原因,执行不会到达 catch 块。如果你明确地想要处理进程破坏异常,你需要用HandleProcessCorruptedStateExceptions属性来装饰你的类。

于 2014-07-07T11:44:17.740 回答