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 try
de devolvê-lo (ou seja, se não gerar um erro). Eu não preciso do catch
bloco. 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 catch
remover esses bloqueios e, ao mesmo tempo, obter o mesmo efeito?
null
return func1() || func2() || func3();