1.try-catch 块的用途是捕捉和处理工作代码所生成的异常。 2.有些异常可以在 catch 块中处理,解决问题后不会再次引发异常; 3.例如: 在此示例中,IndexOutOfRangeException 不是最适当的异常:对本方法而言 ArgumentOutOfRangeException 更恰当些,因为错误是由调用方传入的 index 参数导致的。 class TestTryCatch { static int GetInt(int[] array, int index) { try { return array[index]; } catch (System.IndexOutOfRangeException e) // CS0168 { System.Console.WriteLine(e.Message); //set IndexOutOfRangeException to the new exception's InnerException throw new System.ArgumentOutOfRangeException("index parameter is out of range.", e); } } } 4.导致异常的代码被括在 try 块中。在其后面紧接着添加一个 catch 语句,以便在 IndexOutOfRangeException 发生时对其进行处理。catch 块处理 IndexOutOfRangeException,并引发更适当的 ArgumentOutOfRangeException 异常。为给调用方提供尽可能多的信息,应考虑将原始异常指定为新异常的 InnerException。因为 InnerException 属性是只读,所以必须在新异常的构造函数中为其赋值。 |