异常处理

2019-04-11  本文已影响0人  东经20度

异常提供一种把程序控制权从某个部分转移到另一个部分的方式。

1. 异常类

C# 中的异常主要是直接或间接地派生于 System.Exception 类。System.ApplicationExceptionSystem.SystemException 类是派生于 System.Exception 类的异常类。

  • System.ApplicationException 类支持由应用程序生成的异常,所以程序员定义的异常都应该派生自该类。
  • System.SystemException 类是预定义的系统异常基类。

2. 异常捕获

语法:

try{
  //引起异常的语句
}catch(异常类 异常对象){
  //错误处理代码
}finally{
  //无论是否异常都需要执行的代码
}

在 try 块的代码中出现异常后,发生事件依次是:

  • try 块在发生异常的地方中断程序运行。
  • 如果有 catch 块,检查是否匹配发生的异常类型。若没有 catch 块,就执行 finally 块。
  • 若匹配 catch 块,则执行该块代码,否则执行 finally 块代码。若无匹配执行 finally 块代码

3. throw

使用 throw 可以抛出自定义异常。
例如:

class Student{
  int age;
  public void setAge(int age){
    if(age<0){
      MyException myException=new MyException(“年龄不能小于0”);
      throw(myException);
    }
  }
}
class MyException:ApplicationException{
  public MyException(string message):base(message){
  }
}
class Program{
  static void Main(string[] args){
    Student s=new Student();
    try{
      s.setAge(-1);
    }catch(MyException me){
      Console.WriteLine(me.Message);
    }
  }
}
//执行结果
年龄不能小于0
上一篇 下一篇

猜你喜欢

热点阅读