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.

Povezani članci