C# 自定义异常
Posted schangxiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
以上是关于C# 自定义异常的主要内容,如果未能解决你的问题,请参考以下文章