程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#3.0學習筆記(3)異常處理程序try catch語句

C#3.0學習筆記(3)異常處理程序try catch語句

編輯:C#入門知識

 

一,  什麼叫異常?

 

       異常就是程序運行時的錯誤,它違反了一個系統約束或應用程序約束,或出    現了在正常操作時未預料的情形。如用0去除一個數時就會發生異常。

 

二,  try…catch…finally…語句的結構?

 

       未例:

 

       try

 

       {

 

              Statement;

 

       }

 

       catch(…)

 

       {

 

              Statement;

 

       }

 

       finally

 

       {

 

              Statement;

 

       }

 

1、try塊包括正被異常保護的代碼。

 

2、catch塊是處理異常的代碼塊,也稱異常處理程序。

 

3、finally塊是在所有情況下無論如何都要執行的代碼,無論有沒有異常發生。

 

三,  綜合示例:

 

       namespace try_catch

 

{

 

    class Program

 

    {

 

        static voidMain(string[] args)

 

        {

 

            MyClass mc = new MyClass();

 

            try

 

            {

 

                mc.A();

 

            }

 

            catch (DivideByZeroException)

 

            {

 

                Console.WriteLine("catch clause inMain()");

 

            }

 

            finally

 

            {

 

                Console.WriteLine("finally clause inMain()");

 

            }

 

            Console.WriteLine("After try statement inMain.");

 

            Console.WriteLine("   --keep running!");

 

        }

 

    }

 

    class MyClass

 

    {

 

        public void A()

 

        {

 

            try

 

            {

 

                B();

 

            }

 

            catch (System.NullReferenceException)

 

            {

 

                Console.WriteLine("catch clause in A()");

 

            }

 

            finally

 

            {

 

                Console.WriteLine("finally clause in A()");

 

            }

 

        }

 

        protected void B()

 

        {

 

            int x = 10, y = 0;

 

            try

 

            {

 

                x /= y;

 

            }

 

            catch (System.IndexOutOfRangeException)

 

            {

 

                Console.WriteLine("catch clause in B()");

 

            }

 

            finally

 

            {

 

                Console.WriteLine("finally clause in B()");

 

            }

 

        }

 

    }

 

}

 

程序輸出結果為:

 

finally clause in B()

 

finally clause in A() www.2cto.com

 

catch clause inMain()

 

finally clause inMain()

 

After try statement inMain.

 

   --keep running.

 

 



作者 永遠的麥子。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved