Войти Регистрация
Фронтенд

47. finally с return и метки циклов при подборе машины

Средняя

Что выведет код? Запишите строки по порядку, по одной на строку.

В работе: Очистка ресурсов в finally и выход из вложенных циклов перебора машин и заказов.

Как проверяем Код не запускаем — предскажите вывод. Пишите строки по порядку, по одной на строку; пробелы по краям не важны. Ответ один на подход: после него показываем разбор.
try/finallyreturnметкициклы

Источник: на задачах Яндекс Такси: подбор машины к заказу. Условие пересказано своими словами.

  1. function eta() {
  2. try {
  3. return 'через 5 мин';
  4. } finally {
  5. console.log('finally');
  6. }
  7. }
  8. console.log(eta());
  9. function override() {
  10. try {
  11. return 1;
  12. } finally {
  13. return 2;
  14. }
  15. }
  16. console.log(override());
  17. function counter() {
  18. let n = 1;
  19. try {
  20. return n;
  21. } finally {
  22. n = 10;
  23. console.log('n =', n);
  24. }
  25. }
  26. console.log(counter());
  27. outer: for (let car = 1; car <= 3; car++) {
  28. for (let order = 1; order <= 3; order++) {
  29. if (order === 2) continue outer;
  30. if (car === 3) break outer;
  31. console.log(car + '-' + order);
  32. }
  33. }
  34. function swallow() {
  35. try {
  36. throw new Error('нет машин');
  37. } finally {
  38. return 'ошибка пропала';
  39. }
  40. }
  41. console.log(swallow());