根据设计准则,捕获异常应从更多规范异常开始到System.Exception。 的
喜欢:
try
{
}
catch(IOException IOEx)
{
}
catch(ArrayIndexOutOfRangeException AIE)
{
}
.....
catch(Exception ex)
{
}
我听说CLR跟踪堆栈以逐个跟踪异常以找到匹配的异常(如果发生错误)。 由于堆栈是“后进先出”本质上不会CLR看起来 相反的顺序 ? (即Exception .. ArrayIndexOutOfRangeException .. IOException)
答案 0 :(得分:4)
否 - 在这种情况下,堆栈是调用堆栈,因此如果它在当前方法中找不到处理程序,它将向上移动堆栈以查找处理程序。但是,在特定方法中,处理程序按照指定的顺序进行测试。