Поглотить исключение означает поймать его и не делать с ним ничего полезного. Общее, что вы можете увидеть, это:
try
{
DoSomeOperationThatMightThrow();
}
catch (Exception ex) // don't do this!
{
// exception swallowed
}
Обычно вы вообще не хотите перехватывать базовое исключение, лучше ловить и обрабатывать определенные типы исключений, и в идеале вы должны ловить только те типы исключений, с которыми вы можете сделать что-то полезное на уровне кода, который вы в. Это может быть сложно в сложных приложениях, потому что вы можете обрабатывать разные ошибки на разных уровнях в коде. Самый высокий уровень кода может просто перехватывать серьезные / фатальные исключения, а более низкие уровни могут перехватывать исключения, с которыми можно справиться при помощи некоторой логики обработки ошибок.
Если вы поймали исключение и хотите его сбросить, сделайте следующее:
try
{
DoSomething();
}
catch (SomeException ex)
{
HandleError(...);
// rethrow the exception you caught
throw;
// Or wrap the exception in another type that can be handled higher up.
// Set ex as the InnerException on the new one you're throwing, so it
// can be viewed at a higher level.
//throw new HigherLevelException(ex);
// Don't do this, it will reset the StackTrace on ex,
// which makes it harder to track down the root issue
//throw ex;
}