我如何找到有关错误的更多信息 "first chance exception of type 'System.Runtime.InteropServices.COMException'..."

How do I find out more about the error "first chance exception of type 'System.Runtime.InteropServices.COMException'..."

下面的 C# 行产生错误:

Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(After: wbk.Worksheets.Count);

我打算让代码在工作簿 wbk 中创建一个新工作表,但没有创建新工作表。相反,我得到一个错误。

我收到的错误信息是:

A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.Office.Interop.Excel.dll

如何了解有关此错误的更多信息以便解决它?

查看详细信息没有告诉我任何对我有意义的信息。检查异常的错误代码 属性 以确定 COM 对象返回的 HRESULT 没有告诉我对我有意义的内容。

我不知道如何从这里开始搜索错误。

错误信息: 'System.Runtime.InteropServices.COMException' 类型的第一次机会异常发生在 Microsoft.Office.Interop.Excel.dll

只是来自已处理异常的通知,您的调用应该有一个 try catch: Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(之后: wbk.Worksheets.Count);

尝试拦截真正的异常。

什么 属性 或方法调用会触发异常?

我建议打破调用链并在单独的代码行上声明每个 属性 或方法。因此,您将能够找到引发异常的确切对象。

也尝试明确指定可选参数:

Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(Type.Missing, wbk.Worksheets[1], Type.Missing, Type.Missing); 

注意需要指定的是sheet,后面加的是新的sheet,不是数字!