C# 自定義異常


 

1、自定義異常類

1.1 為什么要自定義異常類

(1)沒有具體系統異常相對應

(2)不希望在Catch塊中處理

(3)希望能明確標志錯誤種類的異常

1.2 自定義異常類定義步驟

繼承自System.ApplicationException類,並使用Exception作為后綴名。

1.3 自定義異常的准則

 

 

自定義異常:

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();
        }
    }

 


免責聲明!

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



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