Я пытаюсь написать некоторый код, который перехватывает конкретное исключение и выбрасывает более полезный код для чего-то более высокого в стеке вызовов, но также для перехвата более общих исключений и их обработки.
Код выглядит примерно так:
try
{
// Do stuff
}
catch (SomeException e)
{
throw new SomeExceptionWithContextInfo();
}
catch (Exception e)
{
// Handle unexpected exception gracefully
}
Проблема, с которой я столкнулся, заключается в том, что общим исключением является перехват моего нового исключения. Есть ли способ избежать этого?
Мое текущее решение заключается в проверке типа исключения и повторном его вызове, если я только что создал его тип.