您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#異常怎么處理”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#異常怎么處理”吧!
異常是程序運行中發生的錯誤,C#異常處理是程序設計的一部分。在C#異常處理是通過Exception基類進行的,可以創建自己的異常類,但這個類必須是繼承自Exception基類。
異常將導致不完善或者不需要的結果,因此在程序設計中需要處理異常。異常也可以是象"IndexOutOfBounds"這樣的錯誤,這個錯誤表示程序試圖訪問數組中部存在的元素;比如數組***元素為100,當試圖訪問元素101時就將會發生這樣的錯誤。但這些都是內建的異常,可以直接通過 Exception基類處理,如果發生的異常不是內建的,那么就需要我們自己見一個C#異常處理類,當然這個類時繼承自Exception基類。
下面的程序定義了一個自己的異常類:
using System; public class MyException:Exception { public string s; public MyException():base() { s=null; } public MyException(string message):base() { s=message.ToString(); } public MyException(string message,Exception myNew):base(message,myNew) { s=message.ToString();// Stores new exception message into class member s } public static void Test() { string str,stringmessage; bool flag=false; stringmessage=null; char ch=' '; int i=0; Console.Write("Please enter some string (less than 27 characters) - "); str=Console.ReadLine(); try{ ch=str[i]; while (flag==false) { if (ch=='\r') { flag=true; } else{ ch=str[i]; i++; } } } catch(Exception e){ flag=true; } if (i>27) { stringmessage="你的輸入不能超過27個字 !"; throw new MyException(stringmessage); } } public static void Main() { try { Test(); } catch(MyException e) { Console.WriteLine(e.s); } } }
上面的代碼建立了一個新的繼承于Exception基類的異常類叫MyException,這個類有三個過載構造函數,采用三個構造函數的目的十分簡單:為了能夠過載基類的構造函數。基類中缺省的和已經實現的構造函數必須在繼承類中實現,但是我們設計這個類的真正目的是:當用戶輸入超過27 個字就顯示一段錯誤提示信息,提醒用戶輸入不能超過27個字。雖然這更像是數據驗證而不是一個真正的異常但卻是一個比較好的例子,新的異常 MyException被函數Test()拋出,通過該方法信息"你的輸入不能超過27個字"被main()的catch塊獲得。
感謝各位的閱讀,以上就是“C#異常怎么處理”的內容了,經過本文的學習后,相信大家對C#異常怎么處理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。