Ho un numero di funzioni che restituiscono qualcosa o generano un errore. In una funzione principale, chiamo ciascuno di questi e vorrei restituire il valore restituito da ciascuna funzione, o passare alla seconda funzione se la prima funzione genera un errore.
Quindi in pratica quello che ho attualmente è:
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
}
Ma in realtà vorrei solo tryrestituirlo (cioè se non genera un errore). Non ho bisogno del catchblocco. Tuttavia, il codice come try {}fallisce perché manca un catch {}blocco (non utilizzato) .
Ho messo un esempio su jsFiddle .
Quindi, c'è un modo per catchrimuovere quei blocchi ottenendo lo stesso effetto?
nulle fare qualcosa del tiporeturn func1() || func2() || func3();