异常传播可以通过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