JavaScript coba ... tangkap ... akhirnya Pernyataan

Dalam tutorial ini, Anda akan belajar tentang pernyataan try… catch… last untuk menangani pengecualian dalam JavaScript dengan bantuan contoh.

The try, catchdan finallyblok yang digunakan untuk menangani pengecualian (sejenis kesalahan). Sebelum Anda mempelajarinya, Anda perlu mengetahui tentang jenis-jenis kesalahan dalam pemrograman.

Jenis Kesalahan

Dalam pemrograman, ada dua jenis kesalahan dalam kode:

Kesalahan Sintaks : Kesalahan dalam sintaks. Misalnya, jika Anda menulis consol.log('your result');, program di atas menampilkan kesalahan sintaksis. Ejaan consoleadalah kesalahan dalam kode di atas.

Runtime Error : Jenis kesalahan ini terjadi selama pelaksanaan program. Misalnya,
memanggil fungsi atau variabel yang tidak valid.

Kesalahan ini yang terjadi selama waktu proses disebut pengecualian . Sekarang, mari kita lihat bagaimana Anda dapat menangani pengecualian ini.

JavaScript try … catch Statement

The try… catchpernyataan digunakan untuk menangani pengecualian. Sintaksnya adalah:

 try ( // body of try ) catch(error) ( // body of catch )

Kode utama ada di dalam tryblok. Saat menjalankan tryblok, jika terjadi kesalahan, itu masuk ke catchblok. The catchblok menangani kesalahan sesuai laporan hasil tangkapan.

Jika tidak terjadi kesalahan, kode di dalam tryblok dijalankan dan catchblok dilewati.

Contoh 1: Tampilkan Variabel yang Tidak Dinyatakan

 // program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Keluaran

 NaN Kesalahan tertangkap Pesan kesalahan: ReferenceError: a tidak ditentukan

Dalam program di atas, variabel tidak ditentukan. Ketika Anda mencoba untuk mencetak variabel, program akan menampilkan kesalahan. Kesalahan itu terperangkap di catchblok.

JavaScript coba … tangkap … akhirnya Pernyataan

Anda juga dapat menggunakan try… catch… finallypernyataan tersebut untuk menangani pengecualian. The finallyblok mengeksekusi kedua ketika kode berjalan dengan sukses atau jika terjadi kesalahan.

Sintaks try… catch… finallyblok adalah:

 try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )

Contoh 2: coba… tangkap… akhirnya Contoh

 const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )

Keluaran

 NaN Kesalahan tertangkap Pesan kesalahan: ReferenceError: a tidak ditentukan Akhirnya akan dieksekusi setiap waktu

Dalam program di atas, terjadi kesalahan dan kesalahan itu ditangkap oleh catchblok. The finallyblok akan mengeksekusi dalam situasi apapun (jika program berjalan dengan sukses atau jika terjadi kesalahan).

Catatan : Anda perlu menggunakan catchatau finallypernyataan demi trypernyataan. Jika tidak, program akan menampilkan kesalahan Uncaught SyntaxError: Missing catch atau akhirnya setelah mencoba.

Coba JavaScript … tangkap di setTimeout

Tidak try… catchakan menangkap pengecualian jika itu terjadi dalam kode " timed ", seperti di setTimeout (). Sebagai contoh,

 try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )

Hal di atas try… catchtidak akan berfungsi karena mesin telah meninggalkan try… catchkonstruksi dan fungsinya dijalankan nanti.

The try… catchblok harus berada di dalam fungsi yang menangkap pengecualian dalam fungsi waktunya. Sebagai contoh,

 setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);

Anda juga dapat menggunakan throwpernyataan dengan try… catchpernyataan untuk menggunakan pengecualian yang ditentukan pengguna. Misalnya, angka tertentu dibagi 0 . Jika Anda ingin dianggap Infinitysebagai kesalahan dalam program, maka Anda bisa melempar pengecualian yang ditentukan pengguna menggunakan throwpernyataan untuk menangani kondisi itu.

Anda akan belajar tentang Pernyataan lemparan JavaScript di tutorial berikutnya.

Artikel yang menarik...