(1)沒有具體系統異常相對應函數
(2)不但願在Catch塊中處理測試
(3)但願能明確標誌錯誤種類的異常this
繼承自System.ApplicationException類,並使用Exception做爲後綴名。spa
自定義異常:code
class MyException : ApplicationException { public string error; private Exception innerException; public MyException() { } public MyException(string msg) :base(msg) { this.error = msg; } public MyException(string msg, Exception innerException):base(msg,innerException) { this.innerException = innerException; error = msg; } public string GetError() { return error; } }
測試:對象
class Program { static void Main(string[] args) { try { // 無參構造對象 //throw new MyException(); //throw new MyException("個人錯誤哦"); throw new MyException("個人錯誤",new Exception("這是Exception的錯誤")); } catch (MyException e) { //Console.WriteLine(e.GetError()); Console.WriteLine(e.InnerException.Message); } //*/ /* //由於Exception是MyException父類,因此若是這裏是Exception也能捕獲到MyException的錯誤 //前提是MyException必須初始化父類Exception構造函數,即 public MyException(string msg) :base(msg) catch (Exception e) { Console.WriteLine(e.Message); } //*/ Console.ReadKey(); } }