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 trydevolverlo (es decir, si no arroja un error). No necesito el catchbloque. 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 catcheliminar esos bloques mientras se logra el mismo efecto?
nully haces algo comoreturn func1() || func2() || func3();