나는 당황합니다. AccessViolationException
은 타사 라이브러리에서 무작위로 발생시킵니다. 안전하게 무시할 수 있으므로 [HandleProcessCorruptedStateExceptions]
속성에 호출하는 메서드를 here으로 래핑합니다. 내가 .NET 프레임 워크 4.6.2 내가 놓친 수있는 어떤 비주얼 스튜디오 2015 업데이트 3을 사용하고 HandleProcessCorruptedStateExceptions에도 불구하고 AccessViolationException이 catch되지 않았습니다.
:
그러나, 나는 여전히 예외를보고하고 아래에 보이는대로 제기하기?
[HandleProcessCorruptedStateExceptions]는 전달되는 개체가 무엇이든 작동해야합니까? 어떻게 중요할까요? –
음, 기다려. 예외로 인해 CSE가 정상적으로 프로그램을 종료하지 않았습니다. 당신은 속성을 가지고 예외를 처리하겠다고 약속했으나하지 않았습니다. 속성을 남용하지 않도록주의하십시오. 그러면 해당 타사 라이브러리에 다시 전화 할 수 없습니다. 따라서 적절한 오류 보고서 (AppDomain.UnhandledException 이벤트 구독)로 프로그램을 종료하거나 해당 라이브러리에 대한 추가 호출을 억제하는 정적 bool 변수를 설정해야합니다. 디버거는 이벤트가 발생하기 전에 항상 단계별로 실행됩니다. –
@HansPassant 당신은 틀린 것입니다! 사실, 당신이 생각하기에, 가장 현명한 사람들 중 하나이기 때문에 이것은 거의 과장된 것이 아닙니다.)'AccessViolationException' 후에 프로세스를 종료하는 것을 제외하고는 아무것도 더 이상 안전하지 않습니다. OP는 당신이이 예외를 무시하는 것이 안전 할 것이고, 나는 그것을 존중하기를 원했기 때문에 나는 당신의 예방 경고를 언급하지 않았다. (나는 그가 예외에 대한 이유를 이미 분석했다고 생각했다.) – haindl