zoukankan      html  css  js  c++  java
  • c#异常机制

    catch finally匹配
    在try中抛出异常,CLR将去catch中匹配捕捉类型相同的catch块,如果找不到将去更上层的堆栈寻找。一旦找到匹配的catch块,就会执行内层的所有finally块执行完成后才会执行匹配的catch块,最后执行匹配catch块对应的finally块。

       static  void  Main(string[] args)
            {
                try
                {
                    try
                    {
                        try
                        {
                            throw new Exception();
                        }
                        finally
                        {
                            Console.WriteLine(1);
                        }
                    }
                    finally
                    {
                        Console.WriteLine(2);
                    }
                }
                catch (System.Runtime.CompilerServices.RuntimeWrappedException e)
                {
    
                    Console.WriteLine("catch");
                }
                catch {
                    Console.WriteLine("catch");
                }
                finally
                {
                    Console.WriteLine(3);
                }
                Console.ReadKey();
                
            }
    

    System.Runtime.CompilerServices.RuntimeWrappedException
    在CLR2.0引入,用于非CLS相容异常(调用其他编程语言所抛出的异常)时,CLR自动构造一个RuntimeWrappedException类的实例,引用实际的抛出对象,这样非CLS相容异常就成为CLS相容异常。
    在CLR2.0之前Exception无法捕捉非CLS相容异常。

      try
                {
                    //需要得体的进行恢复或清理的代码
                }
                catch (Exception e)
                {
                    //在CLR2.0以前,这个块只能捕捉与CLS相容的异常
                    //在CLR2.0及以后,这个块能捕捉与CLS相容和CLS不相容的异常
                    throw;//重新抛出异常
                }
                catch
                {
                    //在CLR所有版本中,这个块都能捕捉与CLS相容和CLS不相容的异常
                    throw;//重新抛出异常
                }
    
  • 相关阅读:
    TSQL存储过程:获取父级类别图片
    ASP.NET小收集<7>:JS创建FORM并提交
    JS收集<4>:限制输入搜索串
    js编码风格
    学习日志0504
    记于20120508日晚
    NHibernate中的Session yangan
    SQL Server2005排名函数 yangan
    让IE8兼容网页,简单开启兼容模式 yangan
    Log4Net跟我一起一步步 yangan
  • 原文地址:https://www.cnblogs.com/lonel/p/15714913.html
Copyright © 2011-2022 走看看