Задать вопрос
alex4answ
@alex4answ

Разумно ли использовать return в try-catch?

Доброе утро, сейчас я использую return только в catch блоках:

рандомный, грубый пример
const foo = (x, y) {
  try { 
    const result = x/y;
  } catch(err) {
    console.error(err.message);
    return null;
  }
  return result;
};


Везде встречал только такой подход, ни разу не видел чтобы из try вернули результат, только в catch/finally
результат в try всегда в переменную и ее возвращают в конце всей функции.

На сколько это правильно, почему не возвращать результат прямо из try ?
  • Вопрос задан
  • 938 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
kocherman
@kocherman
Не, так делать не комильфо.

Изучите работу вот такого кода:
function foo (x, y) {
  try { 
    const res = x == y;
    if(!res){
      throw "res is false";
    }
    console.log('result:',res);
    return res;
  } catch(err) {
    console.error('error:',err);
    return err;
  }
  finally{
    console.log('this code will be executed at all time');
    return "haha";
  }
  console.log('that will never executed')
}

console.log( 'return1: ',  foo( 4, 4 ) );
console.log( 'return2: ', foo( 10 / 3 / 4 / 5, 10 / 5 / 4 / 3 ) );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:57
500 руб./в час
18 дек. 2024, в 11:54
2000 руб./за проект