У меня есть вопрос, который может показаться довольно простым (конечно, если вы знаете ответ).
У определенной функции у меня есть другая функция, но я хочу продолжить выполнение от вызывающего, даже если вызываемый вызывал исключение. Позвольте мне привести вам пример:
something function1()
{
try
{
//some code
int idNumber = function2();
//other code that need to execute even if function2 fails
return something;
}
catch(Exception e)
{//... perhaps something here}
}
EDIT: function1 также имеет оператор return, поэтому ничто не может на самом деле сбой на пути
В функции2 мне нужно делать что-то, но мне нужно только регистрировать, если что-то не получается, например:
int function2()
{
try
{
//dostuff
}
catch(Exception e)
{
//Log stuff to db
}
}
ok, теперь мой вопрос: что мне делать, если я хочу продолжить выполнение в функции1, даже если функция 2 выдает ошибку?
Иногда я смешиваю, если мне нужно бросить; или выбросить e; или вообще ничего не бросать (оставляйте блокировку catch пустым)