zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    [CodeForces]Codeforces Round #429 (Div. 2) ABC(待补)
    About Me
    2018-06-14
    Codeforces Codeforces Round #484 (Div. 2) E. Billiard
    Codeforces Codeforces Round #484 (Div. 2) D. Shark
    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
    Codeforces Avito Code Challenge 2018 D. Bookshelves
    Codeforces Round #485 (Div. 2) D. Fair
    Codeforces Round #485 (Div. 2) F. AND Graph
  • 原文地址:https://www.cnblogs.com/mcgrady/p/2228853.html
Copyright © 2011-2022 走看看