初面网初面网

异常处理

程序在运行过程中可能会出错,有些错误发生了以后程序仍会执行(例如死循环,直至内存耗尽),但有些错误发生了之后就会造成严重的后果(例如被除数为0)。有些错误我们能够排查,但是有些错误很隐蔽,不好说到底会不会发生,什么时候发生,所以我们需要一个机制,保证程序不会遇到错误就直接结束运行。

try...catch...finally

static void Main(string[] args)
{
  try
  {
    int[] arr = { 1, 2, 3 };  // 只有三个值,下标为0, 1, 2
    int getArr = arr[4];  // 显然没有下标为4的值,数组越界
  }
  catch(Exception e)  // 不知道异常的类型就用这个异常的基类
  {
    Console.WriteLine("发生异常: {0}", e);
  }
  finally
  {
    Console.WriteLine("不管有没有异常,我都要执行一下");
  }

  Console.ReadKey();
}

更新于 2025/2/26