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