Pernyataan lemparan JavaScript

Dalam tutorial ini, Anda akan belajar tentang pernyataan lemparan JavaScript dengan bantuan contoh.

Di tutorial sebelumnya, Anda belajar menangani pengecualian menggunakan pernyataan JavaScript try… catch. Pernyataan coba dan tangkap menangani pengecualian dengan cara standar yang disediakan oleh JavaScript. Namun, Anda dapat menggunakan throwpernyataan tersebut untuk meneruskan pengecualian yang ditentukan pengguna.

Di JavaScript, throwpernyataan menangani pengecualian yang ditentukan pengguna. Misalnya, jika angka tertentu dibagi dengan 0 , dan jika Anda perlu mempertimbangkan Infinitysebagai pengecualian, Anda dapat menggunakan throwpernyataan untuk menangani pengecualian itu.

Pernyataan lemparan JavaScript

Sintaks dari pernyataan lemparan adalah:

 throw expression;

Di sini, expressiontentukan nilai pengecualian.

Sebagai contoh,

 const number = 5; throw number/0; // generate an exception when divided by 0

Catatan : Ekspresi dapat berupa string, boolean, angka, atau nilai objek.

Lempar JavaScript dengan try… catch

Sintaksnya try… catch… throwadalah:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Catatan : Ketika pernyataan throw dijalankan, itu keluar dari blok dan pergi ke catchblok. Dan kode di bawah throwpernyataan tersebut tidak dieksekusi.

Contoh 1: Coba… Tangkap… Lempar Contoh

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Keluaran

 Kesalahan tertangkap Pesan kesalahan: Kesalahan: Jumlahnya rendah

Dalam program di atas, sebuah kondisi dicentang. Jika angkanya kurang dari 51 , kesalahan dilemparkan. Dan kesalahan itu dilemparkan menggunakan throwpernyataan.

The throwpernyataan menentukan string The number is lowsebagai ekspresi.

Catatan : Anda juga dapat menggunakan built-in error konstruktor lain untuk kesalahan standar: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, dan RangeError.

Sebagai contoh,

 throw new ReferenceError('this is reference error');

Buat Ulang Pengecualian

Anda juga dapat menggunakan throwpernyataan di dalam catchblok untuk memunculkan kembali pengecualian. Sebagai contoh,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Keluaran

 Kesalahan tertangkap Pesan kesalahan: Kesalahan: Ini adalah lemparan Kesalahan diselesaikan

Dalam program di atas, throwpernyataan digunakan di dalam tryblok untuk menangkap pengecualian. Dan throwpernyataan tersebut ditarik kembali di catchblok yang dijalankan jika catchblok tidak dapat menangani pengecualian.

Di sini, catchblok menangani pengecualian dan tidak ada kesalahan yang terjadi. Oleh karena itu, throwpernyataan tersebut tidak ditarik kembali.

Jika kesalahan tidak ditangani oleh blok penangkap, pernyataan lemparan akan ditampilkan kembali dengan pesan kesalahan Kesalahan Tidak Tertangkap: Nilainya rendah

Artikel yang menarik...