C# 中的异常传播

csharpprogrammingserver side programming

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

在 try 中,当发生异常时,将检查相应的 catch 块。这样做是为了查看它们是否可以捕获异常。如果没有找到匹配的异常,则将异常传播到更高级别的 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

相关文章