天天看点

黑马程序员---异常处理异常

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

   异常在程序里是经常出现的,人不是完美的,有时候总是会出现不同的错误!学习学习处理异常

以前表示方式:错误码。需要知道不同错误码的含义,如果不处理错误码,则程序可能陷入不可以预置的错误。

错误码的缺点:不处理则很难发现,每次处理则很麻烦;难以看出错误的原因;容易使得程序进入不确定状态。

  异常有以下特点

        1.程序遇到异常情况(如被零除情况或内存不足警告)时,就会产生异常。

  2.发生异常时,控制流立即跳转到关联的异常处理程序(如果存在)。

  3.如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误信息。

  4.可能导致异常的操作通过 try 关键字来执行。

  5.异常处理程序是在异常发生时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。

  6.程序可以使用 throw 关键字显式地引发异常。

  7.异常对象包含有关错误的详细信息,其中包括调用堆栈的状态以及有关错误的文本说明。

  8.即使引发了异常,finally 块中的代码也会执行,从而使程序可以释放资源。

C#代码:

 static void Main(string[] args)

        {

            try//在try catch块中,可以截取错误

            {

                System.IO.File.Delete("c:\\maopao.exe");//如果这个程序在执行要删除它,是不可以的

                System.IO.File.Delete("c:\\第一个.txt");//所以这句是不会执行的

                Console.WriteLine("删除成功!");

            }

            catch(Exception e)//exception抓住了异常

            {

                Console.WriteLine("删除失败!错误:" + e.Message + e.StackTrace);//e.Message,e.StackTrace可以看到什么错误和错误的地方

            }

            finally

            {

                System.IO.File.Delete("准备删除(第二个.txt)");//finally中是一定可以执行的

            }

            //在下面的代码中是不知道你到底删除了没有

            System.IO.File.Delete("c:\\maopao.exe");

            Console.WriteLine("准备删除(第三个.txt)");

            System.IO.File.Delete("c:\\第三个.txt");//这句话它是会执行的

            Console.ReadKey();

        }

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

继续阅读