Catch块的顺序是否重要?

时间:2011-01-06 12:12:10

标签: c# exception

确保我理解得很好。正确的架构是否正确?首先捕获最具体的异常,以便在catch块集合的末尾捕获更广泛的异常。

try
{
 some code
}


catch(SomeSpecificException ex)
{
}
catch(LessSpecificException ex)
{
}
catch
{
  //some general exception
}

1 个答案:

答案 0 :(得分:6)

我相信它不会让你以错误的顺序写它。

这会产生错误:

try
{
    throw new OutOfMemoryException();
}
catch(Exception ex)
{
    "B".Dump();
}
catch(OutOfMemoryException ex)
{
    "A".Dump();
}