将此代码放在ThisDocument_Startup之外的Word文档级别VSTO解决方案的地方(创建一个功能区按钮,一个点击事件):Word VSTO在运行时吞下异常而无需调试?
int zero = 0;
int divideByZero = 10/zero;
不开始调试(按Ctrl + F5),结果:异常吞咽,其他代码默默地失败。
例外将放置在ThisDocument_Startup中可见,但它不会出现在其他地方。微软的VSTO论坛和MSDN文档似乎觉得Try ... Catch应该被使用 - 对已知的未知数来说这不是什么大问题。未知的未知数呢?
所有处理托管代码未处理异常的常用方法似乎并不使用与Office COM互操作性展示托管代码工作,因为VSTO的大概:
//These don't work
AppDomain.CurrentDomain.UnhandledException ...
System.Windows.Forms.Application.ThreadException ...
我读过有关解决VSTO职位总是似乎导致放置的代码尝试...几乎抓住每件事物!
有没有更好的方法来处理已知和未知(现在不可见和无声!)失败?
上手时会做这样的东西,你是得心应手要小心,Word还会尝试禁用引发异常的加载项;) – Tangocoder 2012-09-28 22:17:24