zoukankan      html  css  js  c++  java
  • c# try..... catch

      功能说明:在此例中,try 块包含对可能导致异常的ProcessString()方法的调用.catch子句包含仅在屏幕上显示消息的异常处理程序,当从ProcessString内部调用throw语句时,系统查找Catch语句并显示Exception caught消息.

        class Try_Test1
        {
            static void processString(string s)
            {
                if (s == null)
                {
                    throw new ArgumentNullException();
                }

            }
            static void Main()
            {
                try
                {
                    string s = null;
                    processString(s);
                }
                catch (Exception e)
                {
                    Console.WriteLine("第二个异常被捕获{0}",e);
                }
                Console.ReadKey();
            }
        }

     此例使用了两个catch语句,最先出现的是最特定的异常被捕获.

     class Try_Test2
        {
            static void processString(string s)
            {
                if (s == null)
                {
                    throw new ArgumentNullException();
                }

            }
            static void Main()
            {
                try
                {
                    string s = null;
                    processString(s);
                }
                catch (ArgumentNullException e)
                {
                    Console.WriteLine("第一个异常被获{0}.", e);
                }
                catch (Exception e)
                {
                    Console.WriteLine("第二个异常被捕获{0}",e);
                }
                Console.ReadKey();
            }
        }

     //异常处理语句——try-finally使用

     //功能说明:在此例中,有一个导致异常的效转换语句,收到一条运行时的错误信息时,Finally语句块还是会执行.

        public class  Finally_Test1
        {
            static void Main()
            {
                int i = 123;
                string s = "string test";
                object o = s;
                try
                {
                    i = (int)o; //转换无效
                }
                catch (Exception e)
                {
                    Console.WriteLine("转换无效");

                }
                finally
                {
                    Console.WriteLine("i={0}", i);//但是finally还是最终会执行。
                }
                Console.ReadKey();
            }

  • 相关阅读:
    Web Components
    读《代码整洁之道》之我思
    JavaScript设计模式
    Vue项目一些常见问题的解决方案
    Vue中的样式穿透
    如何提升CSS性能
    script标签中,async和defer的区别?
    第二章:整车发动机激励--快速傅里叶变换
    第一章:整车发动机激励--之载荷分解(第一节)
    多点约束MPC-nastran
  • 原文地址:https://www.cnblogs.com/print/p/3389373.html
Copyright © 2011-2022 走看看