У меня есть несколько функций, которые либо возвращают что-то, либо выдают ошибку. В основной функции я вызываю каждую из них и хочу вернуть значение, возвращаемое каждой функцией, или перейдите ко второй функции, если первая функция выдает ошибку.
Итак, в основном то, что у меня сейчас есть:
function testAll() {
try { return func1(); } catch(e) {}
try { return func2(); } catch(e) {} // If func1 throws error, try func2
try { return func3(); } catch(e) {} // If func2 throws error, try func3
}
Но на самом деле я бы хотел только попытаться
вернуть его (т.е. если это не вызывает ошибки). Мне не нужен блок catch
. Однако такой код, как try {}
, не работает из-за отсутствия (неиспользуемого) блока catch {}
.
Я поместил пример в jsFiddle .
Итак, есть ли способ удалить эти блоки catch
при достижении того же эффекта?