C#自定義異常(throw拋出異常)


雖然在 C# 語言中已經提供了很多異常處理類,但在實際編程中還是會遇到未涉及的一些異常處理。

例如想將數據的驗證放置到異常處理中,即判斷所輸入的年齡必須為 18〜45,此時需要自定義異常類來實現。

自定義異常類必須要繼承 Exception 類。

聲明異常的語句如下。

class 異常類名 :Exception
{
}

拋出自己的異常,語句如下

throw( 異常類名 );

下面通過實例來演示自定義異常的應用。

【實例】自定義異常類,判斷從文本框中輸入的年齡值處於 18〜45。

根據題目要求,設計一個 Windows 窗體,界面如下圖所示。

驗證年齡的窗體設計


編寫自定義異常類,代碼如下。

  1. class MyException :Exception
  2. {
  3. public MyException(string message) : base(message)
  4. {
  5. }
  6. }

在“驗證”按鈕的單擊事件中根據輸入的年齡判斷是否拋出自定義異常,代碼如下。

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. try
  4. {
  5. int age = int.Parse(textBox1.Text);
  6. if (age < 18 || age > 45)
  7. {
  8. throw new MyException("年齡必須在18~45歲之間!");
  9. }
  10. else
  11. {
  12. MessageBox.Show("輸入的年齡正確!");
  13. }
  14. }
  15. catch(MyException myException)
  16. {
  17. MessageBox.Show(myException.Message);
  18. }
  19. catch(Exception ex)
  20. {
  21. MessageBox.Show(ex.Message);
  22. }
  23. }

運行該窗體,若在窗體上輸入不符合要求的年齡,效果如下圖所示。

使用自定義異常


從運行效果可以看出,若在文本框中輸入的年齡不在 18〜45 歲即會拋出自定的異常。

自定義異常也繼承自 Exception 類,因此如果不直接處理 MyException 異常,也可以直接使用 Exception 類來處理該異常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM