Вы имеете в виду, что хотите создать специальное исключение, которое не перехватывается блоком catch-call Exception
?
Если это так, попробуйте следующее:
try
{
throw new MyCustomException();
}
catch (OracleException ex)
{
// Handle me...
}
catch (MyCustomException)
{
// Important: NOT `throw ex` (to preserve the stach trace)
throw;
}
catch (Exception ex)
{
// Handle me...
}
Любое исключение типа MyCustomException
будет перехвачено вторым catch
(а не 3-м catch
), а затем переброшено.
Обратите внимание, что в целом это плохопопрактиковаться в catch (Exception)
- это хороший пример того, почему.Я определенно рекомендую вместо того, чтобы делать вышеприведенное, просто рефакторинг, чтобы вы больше не ловили Exception
, что было бы гораздо более удачным решением.