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 try
restituirlo (cioè se non genera un errore). Non ho bisogno del catch
blocco. Tuttavia, il codice come try {}
fallisce perché manca un catch {}
blocco (non utilizzato) .
Ho messo un esempio su jsFiddle .
Quindi, c'è un modo per catch
rimuovere quei blocchi ottenendo lo stesso effetto?
null
e fare qualcosa del tiporeturn func1() || func2() || func3();