0

サード パーティのライブラリは、ライブラリが特定のファイルを開くたびに AccessViolationException を引き起こしています。私は何千ものファイルを反復しようとしているので、例外をキャッチし、アイテムを開かないファイルのリストに追加して続行すると便利です。ただし、例外は catch(Exception e) ブロックによっても、特定の catch(AccessViolationException ave) ブロックによってもキャッチされません。

別の質問へのコメントで、John Saunders は、AccessViolationException をキャッチすることはできるが、キャッチすべきではないことを示唆しています。

プログラマーは何をするのですか?

4

1 に答える 1

3

AccessViolationException例外がアプリケーションの状態を壊していないことを保証できないという唯一の理由で、おそらくキャッチしたくないでしょう。

デフォルトでは、上記の理由により、実行は catch ブロックに到達しません。プロセス破損の例外を明示的に処理したい場合は、クラスをHandleProcessCorruptedStateExceptions属性で装飾する必要があります。

于 2014-07-07T11:44:17.740 に答える