попробуйте {} без catch {}, возможно ли в JavaScript?

У меня есть несколько функций, которые либо возвращают что-то, либо выдают ошибку. В основной функции я вызываю каждую из них и хочу вернуть значение, возвращаемое каждой функцией, или перейдите ко второй функции, если первая функция выдает ошибку.

Итак, в основном то, что у меня сейчас есть:

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 при достижении того же эффекта?

100
задан pimvdb 12 October 2011 в 14:17
поделиться