Apakah saya perlu `return` setelah` throw` di JavaScript?


99

Saya membuang Errordari metode saya yang saya ingin keluar lebih awal, seperti di bawah ini:

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

Apakah saya perlu memberikan return;pernyataan setelah saya throw? Ini berhasil untuk saya, untuk saat ini. Jika tidak berguna, saya lebih suka tidak memasukkannya, tetapi saya tidak yakin apa yang mungkin dilakukan browser lain.

Jawaban:


161

Anda tidak perlu memberikan returnpernyataan setelah itu throw, returnsaluran tidak akan pernah tercapai karena melempar pengecualian segera mengembalikan kendali ke pemanggil.


1
"melempar pengecualian segera menyerahkan kendali kembali ke pemanggil" ... Kecuali jika ada CATCH untuk menangani kesalahan yang dilemparkan di jalur manapun dari tumpukan panggilan.
— Mahesh

12
@Mahesh Saya tidak yakin apa yang Anda maksud dengan "Kecuali" - CATCH apa pun dalam tumpukan di bawah tempat throwterjadinya adalah bagian dari "penelepon"
— Rob M.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.