AppDomain.CurrentDomain.FirstChanceException += FirstChanceException;
private static void FirstChanceException(object sender, System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs e)
{
// I would like to log exceptions happening outside my assembly?
// But this event does not receive external FirstChanceExceptions
// (unlike Visual Studio debug output)
myLogger.Log(e.Exception);
}
Пример
Решение
- Есть ли способ получить уведомление о тех исключениях, возникающих в dll, как mscorlib.dll?
- Обратите внимание, что интерес заключается в том, чтобы войти в производственную версию, а не только в отладку.
Почему
Исключения, возникающие во внешних зависимостях dll, могут вызывать проблемы, даже если они там обрабатываются.
Например, из-за исключения значение null может быть возвращено из внешнего метода (вместо того, чтобы возвращать желаемый вывод x ), и хотя мой код в основном обрабатывает такие ненормальный вывод полезно знать, что именно пошло не так и где - потому что, хотя я могу избежать фатальных исключений, чаще всего значение null делает часть моего приложения неработоспособной. Поэтому регистрация внешнего исключения первого шанса предоставит ценную информацию, которая поможет исправить проблему / превратить null в x . И это может присутствовать только в определенных средах / для конкретных пользователей и т. Д ...