异常处理中的堆栈调用

时间:2009-10-06 12:08:37

标签: c# exception

根据设计准则,捕获异常应从更多规范异常开始到System.Exception。

喜欢:

try
{


}
catch(IOException IOEx)
{
}
catch(ArrayIndexOutOfRangeException AIE)
{
}
.....
catch(Exception ex)
{
}

我听说CLR跟踪堆栈以逐个跟踪异常以找到匹配的异常(如果发生错误)。 由于堆栈是“后进先出”本质上不会CLR看起来 相反的顺序 ? (即Exception .. ArrayIndexOutOfRangeException .. IOException)

1 个答案:

答案 0 :(得分:4)

否 - 在这种情况下,堆栈是调用堆栈,因此如果它在当前方法中找不到处理程序,它将向上移动堆栈以查找处理程序。但是,在特定方法中,处理程序按照指定的顺序进行测试。