У меня есть вопрос, который может показаться довольно простым (конечно, если вы знаете ответ)
Одна функция, которую я имею, вызывает другую функцию, но я хочу чтобы продолжить выполнение от вызывающей стороны, даже если вызываемая сторона вызвала исключение.Позвольте мне привести пример:
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}
}
РЕДАКТИРОВАТЬ: функция1 также имеет оператор возврата, поэтому на самом деле ничего не может рухнуть по пути
В функции2 мне нужно делать что-то, но мне нужно только регистрировать, если что-то не удается, например:
int function2()
{
try
{
//dostuff
}
catch(Exception e)
{
//Log stuff to db
}
}
хорошо, теперь мой вопрос, что мне делать, если я хочу продолжить выполнение я n function1, даже если функция 2 выдает ошибку?
Иногда я путаю, если я должен сделать бросок; или бросить e; или вообще ничего не бросать (оставьте блок catch пустым)