天天看點

黑馬程式員——C#程式的異常處理機制

---------------------- Windows Phone 7手機開發、.Net教育訓練、期待與您交流! ----------------------

當我們程式員再寫程式的時候,難免會出現很多錯誤,或者是使用者在使用程式的時候也會出現一些不合規定的操作。這時候我們就需要在程式中去捕獲這些異常。

C# 語言的異常處理功能可幫助您處理程式運作時出現的任何意外或異常情況。

C#中的異常捕獲處理文法

try

{

可能會出錯的代碼;

}

catch

{

出錯後的處理;

}

上面的程式如何執行:

如果try中的代碼沒有出錯,則程式正常運作try中的内容後,不會執行catch中的内容;

如果try中的代碼一旦出錯,程式立即跳入catch中去執行代碼,那麼try中的出錯代碼後面的内容不會再執行了。

例如:

class Program

    {

        static void Main(string[] args)

        {

            //練習題

            try

            {

            Console.WriteLine("請輸入你的姓名:");

            string name = Console.ReadLine();

            Console.WriteLine("請輸入你的國文成績:");

            int chinese =Convert.ToInt32( Console.ReadLine());

            Console.WriteLine("請輸入你的數學成績:");

            int math = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("請輸入你的英語成績:");

            int english = Convert.ToInt32(Console.ReadLine());

            int sum = chinese + math + english;

            int average = (chinese + math + english) / 3;

            Console.WriteLine("{0}的三科成績總分數為{1}分,平均分為{2}分",name,sum,average);

            }

            catch

            {

                Console.WriteLine("你剛剛的輸入有誤,請重新運作");

            }

            Console.ReadKey();

        }

    }

運作程式時,再輸入成績時隻有輸入數字類型的資料才能被程式用convert方法轉換成int類型,如果輸入了非數字類型這時程式就出現錯誤了,這時候try中出錯後的代碼就會立即停止跳轉到catch中,這時程式就能根據程式開發時預測的錯誤資訊進行輸出。

C#中的異常捕獲處理文法還有如下形式

try

{

可能會出錯的代碼;

}

catch

{

出錯後的處理;

}

finally

{

  即使發生異常也會執行的代碼。 用于釋放資源,如連接配接資料庫時,出錯後要關閉資料庫的連接配接。

}

還有很多的異常處理方法持續學習中……

---------------------- Windows Phone 7手機開發、.Net教育訓練、期待與您交流! ----------------------

詳細請檢視:http://net.itheima.com/