• 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()

    catch clause inMain()

    finally clause inMain()

    After try statement inMain.

       --keep running.

  • 相关阅读:
    设计模式学习工厂模式
    vector详解
    sizeof() c++primer
    list vector
    vc windows 服务问题:服务没有及时响应启动或控制请求
    程序员规范
    c++ map
    省略符形参
    SQL2005附加数据库时遇到的问题:用户组或角色在当前数据库已存在 .
    Socket 阻塞
  • 原文地址:https://www.cnblogs.com/mcgrady/p/2228853.html
Copyright © 2020-2023  润新知