Muss ich nach dem Werfen in JavaScript "zurückkehren"?

96

Ich werfe Erroreine Methode von mir, von der ich vorzeitig aussteigen möchte, wie folgt:

// No route found
if(null === nextRoute) {
    throw new Error('BAD_ROUTE');
}

Muss ich return;nach meinem eine Erklärung abgeben throw? Es funktioniert für mich vorerst. Wenn es überflüssig ist, würde ich es lieber nicht einfügen, aber ich kann nicht sicher sein, was verschiedene Browser tun könnten.

Matthew
quelle

Antworten:

160

Sie müssen danach keine returnErklärung abgeben throw, die returnLeitung wird nie erreicht, da das Auslösen einer Ausnahme die Kontrolle sofort an den Anrufer zurückgibt.

Rob M.
quelle
1
"Das Auslösen einer Ausnahme gibt die Kontrolle sofort an den Aufrufer zurück" ... Es sei denn, es gibt einen CATCH, der den ausgelösten Fehler in einem Pfad des Aufrufstapels behandelt.
Mahesh
12
@ Mahesh Ich bin mir nicht sicher, was du mit "Es sei denn" meinst - irgendein FANG im Stapel darunter, wo das throwaufgetreten ist, ist Teil eines "Anrufers"
Rob M.