Не зная всего, что является вашим конкретным обстоятельством, вы могли бы попытаться создать новое исключение. По крайней мере, в C # при создании нового исключения вы, один из необязательных конструкторов, принимаете существующее исключение в качестве параметра. Например:
throw new Exception("This is my new exception.", ex);
Цель этого - сохранить исходное исключение.
Другим вариантом может быть команда try .. catch .. finally.
попробуй {
// нормальный код, который может вызвать исключение
} catch (Exex ex) {
// обработать это первое исключение
} в конце концов {
// обрабатывать любую очистку вне зависимости от создаваемого исключения
}
В общем, если мой код может обрабатывать исключение в конкретной попытке ... поймать, то я не перекидываю это исключение. Если важно, чтобы что-то еще выше в стеке вызовов имело это исключение, я добавлю новое исключение и установлю исходное исключение как внутреннее исключение.