今天看了编程书里的异常处理,特来和大家分享。
.NET中所有的异常都是对象。.NET中异常都有一个叫做System.Exception的基类。程序执行过程中可以通过throw,在外部调用方法可以使用try,catch,finally来调用。
如果没有异常捕获,就会直接退出程序。
首先是try,catch,finally.try是用来试图捕获异常的关键字,catch是用来处理捕获的异常,可以使用catch加异常名,来指定将处理的异常类,如果try没有捕获到异常那么catch里的语句将不会执行。finally不管捕获到与否都会执行,用来释放可能因为发生而导致无法释放的资源。
可以使用try...catch,try...catch,try...catch...finally中的任意一种,不必全都使用。
接下来来演示一下。
class Program { static void Main(string[] args) { string a = "Hello World"; try { Console.WriteLine("进入try语句"); string b = a.ToLower(); Console.WriteLine(b); } catch(NullReferenceException e)//捕获空引用异常 { Console.WriteLine("进入catch语句"); Console.WriteLine("异常NullReferenceException被捕获"); Console.WriteLine("-------------------------------"); Console.WriteLine(e.Message); } finally//释放资源 { Console.WriteLine("进入finally语句"); } Console.WriteLine("异常捕获结束"); Console.ReadKey(); } }
运行结果如下
如果将改为string a=null;
运行结果如下