偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#異常處理詳細剖析

開發(fā) 后端
這里介紹,C#異常處理是程序設計的一部分。在C#異常處理是通過Exception基類進行的,可以創(chuàng)建自己的異常類,但這個類必須是繼承自Exception基類。

學習C#語言時,經(jīng)常會遇到C#異常問題,這里將介紹C#異常處理問題的解決方法。

異常是程序運行中發(fā)生的錯誤,C#異常處理是程序設計的一部分。在C#異常處理是通過Exception基類進行的,可以創(chuàng)建自己的異常類,但這個類必須是繼承自Exception基類。

異常將導致不完善或者不需要的結(jié)果,因此在程序設計中需要處理異常。異常也可以是象"IndexOutOfBounds"這樣的錯誤,這個錯誤表示程序試圖訪問數(shù)組中部存在的元素;比如數(shù)組***元素為100,當試圖訪問元素101時就將會發(fā)生這樣的錯誤。但這些都是內(nèi)建的異常,可以直接通過 Exception基類處理,如果發(fā)生的異常不是內(nèi)建的,那么就需要我們自己見一個C#異常處理類,當然這個類時繼承自Exception基類。

下面的程序定義了一個自己的異常類:

  1. using System;  
  2. public class MyException:Exception  
  3. {  
  4. public string s;  
  5. public MyException():base()  
  6. {  
  7. s=null;  
  8. }  
  9. public MyException(string message):base()  
  10. {  
  11. s=message.ToString();  
  12. }  
  13. public MyException(string message,Exception myNew):base(message,myNew)  
  14. {  
  15. s=message.ToString();// Stores new exception message into class member s  
  16. }  
  17. public static void Test()  
  18. {  
  19. string str,stringmessage;  
  20. bool flag=false;  
  21. stringmessage=null;  
  22. char ch=' ';  
  23. int i=0;  
  24. Console.Write("Please enter some string (less than 27 characters) - ");  
  25. str=Console.ReadLine();  
  26. try{  
  27. ch=str[i];  
  28. while (flag==false)  
  29. {  
  30. if (ch=='\r')  
  31. {  
  32. flag=true;  
  33. }  
  34. else{  
  35. ch=str[i];  
  36. i++;  
  37. }  
  38. }  
  39. }  
  40. catch(Exception e){  
  41. flag=true;  
  42. }  
  43.  
  44. if (i>27)  
  45. {  
  46. stringmessage="你的輸入不能超過27個字 !";  
  47. throw new MyException(stringmessage);  
  48. }  
  49. }  
  50. public static void Main()  
  51. {  
  52. try  
  53. {  
  54. Test();  
  55. }  
  56. catch(MyException e)  
  57. {  
  58. Console.WriteLine(e.s);  
  59. }  
  60. }  
  61. }  

上面的代碼建立了一個新的繼承于Exception基類的異常類叫MyException,這個類有三個過載構(gòu)造函數(shù),采用三個構(gòu)造函數(shù)的目的十分簡單:為了能夠過載基類的構(gòu)造函數(shù)?;愔腥笔〉暮鸵呀?jīng)實現(xiàn)的構(gòu)造函數(shù)必須在繼承類中實現(xiàn),但是我們設計這個類的真正目的是:當用戶輸入超過27 個字就顯示一段錯誤提示信息,提醒用戶輸入不能超過27個字。雖然這更像是數(shù)據(jù)驗證而不是一個真正的異常但卻是一個比較好的例子,新的異常 MyException被函數(shù)Test()拋出,通過該方法信息"你的輸入不能超過27個字"被main()的catch塊獲得。

【編輯推薦】

  1. C#窗體里調(diào)用淺談
  2. C#調(diào)用ListEmployee命令
  3. C# CreateEmployeeDefinition()函數(shù)
  4. C#實現(xiàn)斷點續(xù)傳詳細剖析
  5. C# Employee對象淺談
責任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-27 17:14:36

C# Socket

2009-09-18 10:00:17

C#數(shù)組操作

2009-09-03 16:58:49

C#內(nèi)存管理

2009-08-27 17:51:34

C#匿名方法

2009-09-11 11:17:04

C#引用類型

2009-08-28 15:38:49

C#實現(xiàn)斷點續(xù)傳

2009-09-07 13:42:56

C# Pop3類

2009-08-06 14:08:08

C#語言異常處理

2009-09-04 11:06:40

C#訪問修飾符

2009-08-31 16:29:21

C#控制輸入法

2009-08-05 18:28:05

C#異常處理

2009-08-05 18:09:17

C#異常處理機制

2009-09-07 15:21:38

Java與C#事件處理

2024-04-16 12:18:05

編程異常處理錯誤返回

2009-09-01 16:29:03

QuickSort C

2009-08-28 17:46:18

C#讀取Word文檔

2009-09-07 14:29:52

C# ServiceC

2009-09-14 14:17:11

Linq異常處理

2010-01-13 13:42:55

C++編譯器

2021-03-25 07:44:39

C++異常處理開發(fā)技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號