C#中的异常传播

异常传播可以通过C#中异常处理的工作方式来理解。

在尝试中,当发生异常时,将检查相应的捕获块。这样做是为了查看他们是否可以捕获异常。如果找不到匹配的异常,则该异常将传播到更高级别的try块。重复此过程,直到捕获到异常为止。如果未捕获到异常,则该程序的执行结束。

在下面的示例中解释了上述概念,该示例显示了嵌套的try语句。

示例

using System;
using System.Text;
public class Demo {
   public static void Main() {
      try {
         try {
            throw new ArgumentException();
         }catch (NullReferenceException e) {
            Console.WriteLine("catch one");
         } finally {
            Console.WriteLine("finally one");
         }
      } catch (Exception e) {
         Console.WriteLine("catch two");
      } finally {
         Console.WriteLine("finally two");
      }
      Console.ReadLine();
   }
}

输出结果

finally one
catch two
finally two