Ответ 1
Нет, до тех пор, пока возвращаемое значение означает, что вы хотите, вы можете вернуться в любое время. (убедитесь, что вы очистили память, если она выделена).
В блоке catch try используется неверная практика для возврата значений из блока catch в С++?
try
{
//Some code...
return 1;
}
catch(...)
{
return 0;
}
Какой метод использования try/catch является хорошей практикой?
Нет, до тех пор, пока возвращаемое значение означает, что вы хотите, вы можете вернуться в любое время. (убедитесь, что вы очистили память, если она выделена).
Я предпочитаю иметь несколько точек выхода в моем коде, поэтому я бы написал:
int rc = 1;
try {
// some code
}
catch(...) {
rc = 0;
}
return rc;
Мне легче отлаживать и читать код, когда мне нужно только отслеживать один оператор return.
я бы предположил, что если вы не знаете, какое исключение выбрано кодом, тогда вы можете это сделать. Но в этом случае клиент должен принять действие на основе возвращаемого значения.
Но было бы лучше создать пользовательское исключение и бросить его, чтобы клиент мог узнать, что произошло в действительности. Это то, что фактическое использование исключения и рекомендуется для писателя библиотеки.
- хорошая практика, чтобы он возвращался в конце функции после блока try/catch.