->异常的类型
try-catch ; try-catch-finally ; try-finally
在类方法中异常处理的过程是:
*异常抛给调用它的方法!
*如果该方法没有处理异常,就再往上抛,
*如果做了异常处理就不再往上抛了
实例:
class Program { static void Main(string[] args) { try { Func1(); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); } public static void Func1() { // 如果该方法中用到一个资源需要被回收 try { Func(); } //此段如果不注释掉,异常信息由Func1自己处理 //如果注释掉,异常信息交由调用函数处理 //catch (Exception ex) //{ // Console.WriteLine(ex.Message + " 自己处理"); //} finally { Console.WriteLine("释放资源"); } } public static void Func() { throw new Exception("Func 异常信息 "); } } }
异常处理时,应该注意的问题:
-> try代码中一旦异常,其后代码不再执行
-> finally总会执行
-> finally中不能有return语句(此处上次出错,想在finally中返回出错信息,现在仔细一想,哎!)
-> 即使try中有return,finally中的代码也会执行