Ich habe eine Reihe von Funktionen, die entweder etwas zurückgeben oder einen Fehler auslösen. In einer Hauptfunktion rufe ich jede dieser Funktionen auf und möchte den von jeder Funktion zurückgegebenen Wert zurückgeben oder mit der zweiten Funktion fortfahren, wenn die erste Funktion einen Fehler auslöst.
Im Grunde habe ich derzeit also Folgendes:
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
}
Aber eigentlich möchte ich es nur try
zurückgeben (dh wenn es keinen Fehler auslöst). Ich brauche den catch
Block nicht. Code wie try {}
schlägt jedoch fehl, weil ein (nicht verwendeter) catch {}
Block fehlt .
Ich habe jsFiddle ein Beispiel gegeben .
Gibt es also eine Möglichkeit, diese catch
Blöcke zu entfernen, während der gleiche Effekt erzielt wird?
null
return func1() || func2() || func3();