Penyataan lontaran JavaScript

Dalam tutorial ini, anda akan belajar mengenai pernyataan lemparan JavaScript dengan bantuan contoh.

Dalam tutorial sebelumnya, anda belajar menangani pengecualian menggunakan penyataan cuba … pernyataan tangkapan. Pernyataan cubaan dan tangkapan menangani pengecualian dengan cara standard yang disediakan oleh JavaScript. Walau bagaimanapun, anda boleh menggunakan throwpernyataan untuk melepasi pengecualian yang ditentukan pengguna.

Dalam JavaScript, throwpernyataan tersebut menangani pengecualian yang ditentukan pengguna. Sebagai contoh, jika nombor tertentu dibahagi dengan 0 , dan jika anda perlu mempertimbangkan Infinitysebagai pengecualian, anda boleh menggunakan throwpernyataan untuk menangani pengecualian tersebut.

Penyataan lontaran JavaScript

Sintaks pernyataan lemparan adalah:

 throw expression;

Di sini, expressionmenentukan nilai pengecualian.

Sebagai contoh,

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

Catatan : Ungkapan itu boleh berupa string, boolean, number, atau value.

Lempar JavaScript dengan cubaan … tangkap

Sintaksnya try… catch… throwadalah:

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

Catatan : Apabila pernyataan lemparan dijalankan, ia keluar dari blok dan menuju ke catchblok. Dan kod di bawah throwpernyataan tidak dilaksanakan.

Contoh 1: cuba… tangkap… baling 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); )

Pengeluaran

 Ralat terperangkap Mesej ralat: Ralat: Jumlahnya rendah

Dalam program di atas, keadaan diperiksa. Sekiranya bilangannya kurang dari 51 , kesalahan akan dilemparkan. Dan kesalahan itu dilemparkan menggunakan throwpernyataan tersebut.

The throwkenyataan menentukan rentetan The number is lowsebagai ungkapan.

Nota : Anda juga boleh menggunakan pengeluar terbina dalam kesesatan yang lain bagi sebarang kesilapan standard: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, dan RangeError.

Sebagai contoh,

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

Tetapkan Semula Pengecualian

Anda juga boleh menggunakan throwpenyataan di dalam catchblok untuk melihat semula 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'); ) )

Pengeluaran

 Ralat ditangkap Mesej ralat: Ralat: Ini adalah Ralat lemparan yang diselesaikan

Dalam program di atas, throwpernyataan digunakan dalam tryblok untuk mendapatkan pengecualian. Dan throwpernyataan tersebut disusun semula dalam catchblok yang akan dilaksanakan jika catchblok tersebut tidak dapat menangani pengecualian.

Di sini, catchblok menangani pengecualian dan tidak ada ralat berlaku. Oleh itu, throwpenyataan tersebut tidak dipikirkan semula.

Sekiranya ralat tidak ditangani oleh blok tangkapan, pernyataan lemparan akan diketengahkan semula dengan mesej kesalahan

Artikel menarik...