2017-02-15 5 views
2

Можно ли перехватывать исключения, которые обрабатываются внешней (устаревшей) сборкой?Поймать исключения, обработанные внешней сборкой

Я не думаю, что смогу поймать эти исключения, так как они уже обработаны, но аналогично Visual Studio «сломать все исключения», я подумал, что, может быть, я мог бы хотя бы получить уведомление об исключении.

например: MyProduct.exe вызывает Utils.dll и Utils.dll, проглатывает все исключения и не возвращает никакой информации, если что-то не так.

PS: Модификация, что внешний узел, очевидно, является альтернативой, но это очень трудно, потому что это на самом деле распространяется на сотни измененных копий

ответ

4

Вы можете подписаться на AppDomain.FirstChanceException event, чтобы получить уведомление об исключениях:

Это событие является только уведомлением. Обработка этого события не обрабатывает исключение или никак не влияет на последующую обработку исключений. После того, как событие было поднято, и обработчики событий были вызваны, среда выполнения CLR начинает искать обработчик для исключения. FirstChanceException предоставляет домен приложения первый шанс изучить любое управляемое исключение.

+0

Спасибо, @stuartd. Это именно то, что я искал. В случае, если кто-то хочет краткое резюме [этот ответ] (http://stackoverflow.com/a/564697/3606250), также полезно. – drizin

Смежные вопросы