У мене є ряд функцій, які або повертають щось, або видаляють помилку. У головній функції я викликаю кожну з них і хотів би повернути значення, повернене кожною функцією, або перейти до другої функції, якщо перша функція видасть помилку.
Тому в основному те, що я зараз маю:
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();