Catch块的顺序是否重要?

Loj*_*Loj 7 c# exception

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

try
{
 some code
}


catch(SomeSpecificException ex)
{
}
catch(LessSpecificException ex)
{
}
catch
{
  //some general exception
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*Rob 6

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

这会产生错误:

try
{
    throw new OutOfMemoryException();
}
catch(Exception ex)
{
    "B".Dump();
}
catch(OutOfMemoryException ex)
{
    "A".Dump();
}
Run Code Online (Sandbox Code Playgroud)

  • @Loj:完全正确.它会给你我提到的错误信息. (2认同)