У меня есть несколько функций, которые либо что-то возвращают, либо выдают ошибку. В основной функции я вызываю каждую из них и хотел бы вернуть значение, возвращаемое каждой функцией, или перейти ко второй функции, если первые функции вызывают ошибку.
Итак, в основном то, что у меня сейчас есть:
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
}
Но на самом деле я бы хотел только try
вернуть его (т.е. если он не выдаст ошибку). catch
Блок мне не нужен . Однако такой код try {}
не работает, потому что в нем отсутствует (неиспользуемый) catch {}
блок.
Я поместил пример на jsFiddle .
Итак, есть ли способ catch
удалить эти блоки при достижении того же эффекта?
null
return func1() || func2() || func3();