簡體   English   中英

為第三方網站使用的自定義dll設計例外

[英]designing exceptions for custom dll used by third party web sites

我正在設計一個類庫,該類庫將發送給公眾以用於其應用程序。 它與他們需要安裝在服務器上的自定義數據庫系統進行交互。

我在決定如何從此dll引發異常方面遇到麻煩,該dll主要是自定義db系統的包裝。

我假設我必須創建自定義異常,以指示各種類型的錯誤,包括驗證,數據完整性錯誤等。

該dll最終將由面向公眾的網站使用。 我想通過拋出適當的異常來為最終用戶提供良好的反饋,以便站點可以決定是否顯示它們。 但是我不確定是否可以預期所有用戶輸入錯誤。 如果發生異常事件,我是否會在錯誤消息中拋出常規的.net異常?

我使用了許多第三方dll,這些dll無法為您提供清晰的錯誤處理方式,我也不想成為其中的一個。

創建自定義異常的唯一原因是調用代碼是否需要顯式捕獲它才能知道您的異常與其他異常之間的區別。

如果調用方將對待您的異常與說InvalidOperationException完全相同,則應改為拋出InvalidOperationException

請參見選擇正確的異常類型以引發

您應該拋出自定義異常,即您的DLL比所捕獲的異常了解更多有關錯誤的信息,如果您不知道該錯誤,那么您就不知道更多有關該錯誤,只需將其傳遞出去即可。

只是要清楚一點,這並不意味着您不能在檢測錯誤時拋出自己的異常。

暫無
暫無

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

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