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.

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.


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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.