天天看點

黑馬程式員---異常處理異常

---------------------- 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教育訓練、期待與您交流! ----------------------

繼續閱讀