Важен ли порядок блоков Catch?

просто чтобы убедиться, что я хорошо понимаю. Правильна ли правильная схема? Улавливание наиболее конкретных исключений сначала для улавливания более широких исключений с общим уловом в конце набора блоков catch.

try
{
 some code
}


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

1 ответов


Я считаю, что это не позволит вам написать его в неправильном порядке.

это создает ошибку:

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