当前位置:编程学习 > C#/ASP.NET >>

C#3.0学习笔记(3)异常处理程序try catch语句

 

一,  什么叫异常?

 

       异常就是程序运行时的错误,它违反了一个系统约束或应用程序约束,或出    现了在正常操作时未预料的情形。如用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.zzzyk.com

 

catch clause inMain()

 

finally clause inMain()

 

After try statement inMain.

 

   --keep running.

 

 



作者 永远的麦子。
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,