Поместите этот код где-нибудь на уровне документа документа VSTO-решения за пределами этого документа Document_Startup (создайте кнопку ленты с событием клика):
int zero = 0;
int divideByZero = 10 / zero;
Начать без отладки (Ctrl + F5), Результат: Исключение проглатывается, остальная часть кода терпит неудачу.
Исключение будет видно, если оно помещено в ThisDocument_Startup, но оно больше нигде не появляется. Microsoft VSTO-форумы и документация MSDN кажутся Try Try... Catch следует использовать - что не очень важно для известных неизвестных. Как насчет неизвестных неизвестных?
Все распространенные способы борьбы с необработанными исключениями для управляемого кода, похоже, не работают, по-видимому, из-за использования VSTO с помощью управляемого кода с помощью Office COM Interops:
//These don't work
AppDomain.CurrentDomain.UnhandledException ...
System.Windows.Forms.Application.ThreadException ...
Я читал сообщения об устранении неполадок кода VSTO, который всегда, кажется, приводит к установке Try... Поймать практически все!
Есть ли лучший способ справиться с известными и неизвестными (теперь невидимыми и бесшумными!) неудачами?