J'ai un certain nombre de fonctions qui renvoient quelque chose ou lancent une erreur. Dans une fonction principale, j'appelle chacune d'elles, et je voudrais retourner la valeur retournée par chaque fonction, ou passer à la deuxième fonction si la première fonction génère une erreur.
Donc, fondamentalement, ce que j'ai actuellement est:
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
}
Mais en fait, j'aimerais seulement try
le renvoyer (c'est-à-dire s'il ne génère pas d'erreur). Je n'ai pas besoin du catch
bloc. Cependant, le code comme try {}
échoue car il manque un catch {}
bloc (inutilisé) .
J'ai mis un exemple sur jsFiddle .
Alors, y a-t-il un moyen de catch
supprimer ces blocs tout en obtenant le même effet?
null
et vous faites quelque chose commereturn func1() || func2() || func3();