Tenho várias funções que retornam algo ou geram um erro. Em uma função principal, eu chamo cada uma delas e gostaria de retornar o valor retornado por cada função ou ir para a segunda função se a primeira função gerar um erro.
Basicamente, o que tenho atualmente é:
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
}
Mas, na verdade, gostaria apenas tryde devolvê-lo (ou seja, se não gerar um erro). Eu não preciso do catchbloco. No entanto, o código try {}falha porque falta um catch {}bloco (não utilizado) .
Eu coloquei um exemplo no jsFiddle .
Então, há alguma maneira de catchremover esses bloqueios e, ao mesmo tempo, obter o mesmo efeito?
nullreturn func1() || func2() || func3();