C# try catch continue execute

У меня есть вопрос, который может показаться довольно простым (конечно, если вы знаете ответ)

Одна функция, которую я имею, вызывает другую функцию, но я хочу чтобы продолжить выполнение от вызывающей стороны, даже если вызываемая сторона вызвала исключение.Позвольте мне привести пример:

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 пустым)

15
задан gardarvalur 30 May 2012 в 16:22
поделиться