У меня есть ряд функций, которые либо возвращают что-то, либо бросают ошибку. В основной функции я вызываю каждый из них и хотел бы вернуть значение, возвращаемое каждой функцией, или перейти ко второй функции, если первые функции вызывают ошибку.
Итак, в основном у меня есть:
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
при достижении того же эффекта?