2012-03-14 127 views
4

下面的代碼行引起了我的異常正確使用堆棧跟蹤調試

plug.Instance.AddDocuments(new Int32[] { val_pid }, val_ptype, val_doccat, val_subcat, val_doctype, val_notes, val_summary, SummaryAppendOptions.None, val_docStatus, new String[] { PDFFile })

這是異常詳細信息。

System.Exception was caught 
Message=Object reference not set to an instance of an object. - Error when trying to save document 
Source=SimsBridge 

StackTrace: 
    at SimsBridge.Bridge.AddDocuments(Int32[] personIds, Int32 PersonType, String docCatagory, Int32 subCatagory, String docType, String notes, String summary, SummaryAppendOptions summaryOptions, String documentStatusCode, String[] filePaths) 
    at ManagedScanDesktop.Form1.SimsScanComplete(String[] files) in C:\Working\ManagedScanDesktop 1.8\v1.8\ManagedScanDesktop\ManagedScanDesktop\Form1.cs:line 2619 
InnerException: 

我不是在尋找解決方案的實際例外。

我的問題是,堆棧跟蹤指向哪部分方法沒有參考集?或者只是爲了跟蹤調用方法的棧跟蹤?

+0

它是你說的第二個陳述。 – 2012-03-14 17:41:33

回答

4

堆棧跟蹤顯示引發異常時的調用堆棧。從你提供的內容你只能推斷出一個例外是從AddDocuments中拋出的。任何傳入的引用類型參數都可以爲null。查明問題的最好方法是設置一個斷點並檢查這些值。

+0

+1導致問題的正確方法 – 2012-03-14 17:44:21

+0

如果是這樣的話,爲什麼不能堆棧跟蹤顯示「AddDocuments」方法內的相應行嗎? – Arun 2012-03-14 17:53:23

+0

這是正確的,我檢查過它。堆棧跟蹤會告訴您函數調用和錯誤發生的行號,而不是行本身。那時我的回答是錯誤的。 – 2012-03-14 18:11:29

1

您的堆棧跟蹤意味着SimsBridge或SimsBridge.Bridge爲空。

+0

+1我想具體地說,SimsBridge.Bridge – Arun 2012-03-14 17:40:54

+3

StackTrace說'SimsBridge.Bridge'裏面的東西是空的 – 2012-03-14 17:43:03

1

該消息告訴你,在AddDocuments的某個地方引發了空引用異常。它可能是參數或成員之一。