Tengo una serie de funciones que devuelven algo o arrojan un error. En una función principal, llamo a cada uno de estos y me gustaría devolver el valor devuelto por cada función, o pasar a la segunda función si la primera función arroja un error.
Entonces, básicamente, lo que tengo actualmente es:
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
}
Pero en realidad me gustaría solo try
devolverlo (es decir, si no arroja un error). No necesito el catch
bloque. Sin embargo, el código como try {}
falla porque falta un catch {}
bloque (sin usar) .
Pongo un ejemplo de jsFiddle .
Entonces, ¿hay alguna forma de catch
eliminar esos bloques mientras se logra el mismo efecto?
null
y haces algo comoreturn func1() || func2() || func3();