2010-02-05 36 views
0

我有一個名爲「網站」類,而這個類,我有以下屬性裏面:我應該如何在C#中處理這個特殊的異常?

public HtmlForm RegisterForm 
{ 
    get 
    { 
     if (Forms.RegForm != null)/Forms is a custom object called HTMLForms that is a custom list collection 
     { 
      return Forms.RegForm; 
     } 
     else 
     { 
      // FindPageWithGoogle Google = new FindPageWithGoogle(); 
      // use Google.FindRegistrationForm(this.currentUrl) method 
      //throw new Exception(); // if registration form object can't be found 
     } 
     return Forms.RegForm; 
    } 
} 

這將是處理錯誤的有效途徑?如果沒有找到它,如果拋出這個異常,我將如何停止程序的整個流程?我知道如何使用簡單的嘗試,但我認爲這不夠。我相信我需要學習如何使自己的自定義異常處理系統相應地處理這些自定義事件。

感謝您的任何幫助。另外,如果您有關於異常處理的特定書籍,由於迄今爲止我讀過的C#書籍沒有深入討論這個話題,所以不勝感激。

感謝,

科迪

+1

所以你的問題是什麼是處理'Forms.RegForm == null'的最佳方式? – 2010-02-05 16:18:09

+0

我會說任何'自定義異常處理系統'仍然會受益於使用try-catch(-finally)塊,或許與你自己的自定義異常類而不是避免它們在一起 – 2010-02-05 16:51:55

+0

我不想避免它們。我只想製作安全的代碼。你知道,如何編程知道你的用戶將要做他們不應該做的事情。 – Codygman 2010-02-05 17:00:55

回答

0

要終止對一個異常的代碼,就是不抓住它。

您應該創建一個有意義的異常類(例如InitializationError),然後在出現錯誤時拋出異常。轉到可以將消息顯示給用戶的調用代碼並在那裏捕獲異常。您也可以在此時終止程序。

就異常處理的書籍而言,我認爲你會發現MSDN chapter on exceptions有幫助。

相關問題