Dalam tutorial ini, Anda akan belajar tentang pernyataan try… catch… last untuk menangani pengecualian dalam JavaScript dengan bantuan contoh.
The try
, catch
dan finally
blok 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 console
adalah 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… catch
pernyataan digunakan untuk menangani pengecualian. Sintaksnya adalah:
try ( // body of try ) catch(error) ( // body of catch )
Kode utama ada di dalam try
blok. Saat menjalankan try
blok, jika terjadi kesalahan, itu masuk ke catch
blok. The catch
blok menangani kesalahan sesuai laporan hasil tangkapan.
Jika tidak terjadi kesalahan, kode di dalam try
blok dijalankan dan catch
blok 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 catch
blok.
JavaScript coba … tangkap … akhirnya Pernyataan
Anda juga dapat menggunakan try… catch… finally
pernyataan tersebut untuk menangani pengecualian. The finally
blok mengeksekusi kedua ketika kode berjalan dengan sukses atau jika terjadi kesalahan.
Sintaks try… catch… finally
blok 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 catch
blok. The finally
blok akan mengeksekusi dalam situasi apapun (jika program berjalan dengan sukses atau jika terjadi kesalahan).
Catatan : Anda perlu menggunakan catch
atau finally
pernyataan demi try
pernyataan. Jika tidak, program akan menampilkan kesalahan Uncaught SyntaxError: Missing catch atau akhirnya setelah mencoba.
Coba JavaScript … tangkap di setTimeout
Tidak try… catch
akan 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… catch
tidak akan berfungsi karena mesin telah meninggalkan try… catch
konstruksi dan fungsinya dijalankan nanti.
The try… catch
blok 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 throw
pernyataan dengan try… catch
pernyataan untuk menggunakan pengecualian yang ditentukan pengguna. Misalnya, angka tertentu dibagi 0 . Jika Anda ingin dianggap Infinity
sebagai kesalahan dalam program, maka Anda bisa melempar pengecualian yang ditentukan pengguna menggunakan throw
pernyataan untuk menangani kondisi itu.
Anda akan belajar tentang Pernyataan lemparan JavaScript di tutorial berikutnya.