簡體   English   中英

捕獲“工作簿錯誤”后,出現NullReferenceException

[英]NullReferenceException after catching “A generic error occurred in GDI+.” error for workbook

捕獲錯誤“ GDI +中發生一般錯誤”后出現了一個奇怪的錯誤。

當我嘗試打開Excel文件時,遇到了以下問題:

Workbook workbook = new Workbook();
workbook.LoadFromFile(FileName);

但是在捕獲此異常后幾分鍾,我的應用程序崩潰了(NullReferenceException),而沒有指定錯誤的位置!

知道在我嘗試掃描excel文件時會發生這種情況,但對其他excel文件有效!

我無法找到引發消息“對象引用未設置為對象實例”的異常的位置。 Visual Studio顯示它找不到它!

在此處輸入圖片說明

因此,即使我嘗試在代碼中處理異常,我也一無所有。

有人可以幫我這個話題嗎?

TL:DR; 版本是:

  • 引發“ GDI +中的通用錯誤”異常時出了點問題,您沒有在異常處理程序中修復該異常(可能是因為您沒有辦法這樣做)。
  • 一段時間后,由於先前的事情,其他地方出了問題。

長版

您只能處理您知道如何處理的異常。

要處理異常,而不是僅清理局部變量並重新拋出它,您需要完全了解以下內容:

  • 到底出了什么問題
  • 所有的后果是什么
  • 究竟需要采取什么措施才能處理一切 -所有后果-正確

如果您不了解所有這些內容,那么您將無法正確處理異常。

您遇到的情況是異常(GDI +中的通用錯誤)。 但是,您不知道是什么原因造成的,也不知道如何確保已經解決了可能造成的所有不良后果。

一旦發生異常,您將無法完全理解該異常,則應用程序的內部數據結構可能不再一致。 例如,可能丟失了某些東西,而這些東西本來是假定存在的。

如果真是這樣,可以預料的是,稍后還會出現更多的問題,就像您的情況一樣。

因此,您不應該抓住它,或者至少應該重新拋出它。 現在該退出進程了,並分頁sysadmin找出問題所在。 至少,至少要重新開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM