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();
            }

  • 相关阅读:
    整合Druid数据源
    SpringBoot与数据访问
    IDEA spirng boot @Autowired注解 mapper出现红色下划线解决方法
    IntelliJ Idea 常用快捷键列表
    docker 安装mysql示例
    设计模式都没用过,好意思出去面试?
    为什么 Java 线程没有 Running 状态?
    厉害了,淘宝千万并发,14 次架构演进…
    Redis 内存满了怎么办……
    Java 线程池 8 大拒绝策略,面试必问!
  • 原文地址:https://www.cnblogs.com/print/p/3389373.html
Copyright © 2011-2022 走看看