iznimka - Trebam li `return` nakon `throw` u JavaScriptu?
Bacim Error iz svoje metode iz koje želim rano izaći, kao što je prikazano u nastavku:
// No route found
if(null === nextRoute) {
throw new Error('BAD_ROUTE');
}
Trebam li staviti return; naredbu nakon svog throw? Za sada mi radi. Ako je suvišna, radije je ne bih stavljao, ali ne mogu biti siguran što bi različiti preglednici mogli učiniti.
Odgovor #1
Ne morate stavljati naredbu return nakon throw, linija return nikada neće biti dosegnuta jer bacanje iznimke odmah vraća kontrolu pozivatelju.
Odgovor #2
Izjava throw baca korisnički definiranu iznimku. Izvršavanje trenutne funkcije će se zaustaviti (naredbe nakon throw se neće izvršiti), a kontrola će biti predana prvom catch bloku u pozivnom stogu. Ako ne postoji catch blok među pozivnim funkcijama, program će se prekinuti.