JavaScript - Penanganan Kesalahan dan Eksepsi
Hai teman-teman, para ahli JavaScript masa depan! ? Selamat datang ke perjalanan menarik kita ke dunia penanganan kesalahan dalam JavaScript. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengarahkan Anda melalui petualangan ini. Jadi, sabikan seatbelt Anda, dan mari kita masuk ke dalam!
Apa Itu Kesalahan?
Imaginasi Anda sedang membuat kue ?, dan secara tidak sengaja Anda menggunakan garam bukan gula. Itu adalah kesalahan! Dalam pemrograman, kesalahan adalah hal yang mirip - mereka adalah masalah yang tak terduga yang terjadi saat kode kita berjalan. Ini bisa berupa kesalahan penulisan, kesalahan logika, atau bahkan masalah dengan data yang kita gunakan.
Berikut adalah contoh sederhana kesalahan dalam JavaScript:
console.log(Hello, World!);
Jika Anda menjalankan kode ini, Anda akan mendapat kesalahan karena kita lupa menaruh tanda kutip di sekitar teks kita. JavaScript mengharapkan string ada dalam tanda kutip.
Apa Itu Penanganan Kesalahan?
Penanganan kesalahan adalah seperti memiliki jaring keselamatan saat Anda berjalan di tali pinggir. Itu adalah cara untuk mengelola kesalahan dalam kode kita dengan mulus, mencegah program kita keseluruhan dari jatuh saat sesuatu menjadi salah.
Statement try...catch...finally
Statement try...catch...finally
adalah alat utama kita untuk menangani kesalahan dalam JavaScript. Itu seperti superhero trio yang datang menyelamatkan hari! ?♀️?♂️?♀️
Berikut adalah cara kerjanya:
try {
// Kode yang mungkin menyebabkan kesalahan
let result = 10 / 0;
console.log(result);
} catch (error) {
// Kode untuk menangani kesalahan
console.log("Ups! Terjadi kesalahan:", error.message);
} finally {
// Kode yang selalu berjalan, tanpa mengira kesalahan
console.log("Ini selalu berjalan!");
}
Dalam contoh ini:
- Blok
try
berisi kode yang mungkin menyebabkan kesalahan (pembagian oleh nol). - Jika terjadi kesalahan, blok
catch
menangkapnya dan menangani nya dengan mulus. - Blok
finally
selalu berjalan, terlepas dari apakah ada kesalahan atau tidak.
Statement throw
kadang-kadang, kita ingin membuat kesalahan khusus kita sendiri. Itu di mana statement throw
berguna. Itu seperti menjadi wasit dalam pertandingan dan memanggil pelanggaran! ?
Berikut adalah contoh:
function checkAge(age) {
if (age < 0) {
throw new Error("Umur tidak dapat negatif!");
}
console.log("Umur valid:", age);
}
try {
checkAge(-5);
} catch (error) {
console.log("Menangkap kesalahan:", error.message);
}
Dalam kode ini, kita melempar kesalahan khusus saat seseorang mencoba menggunakan umur negatif. Blok catch
kemudian menangani kesalahan ini.
Properti onerror
Event Handler
Properti onerror
event handler adalah seperti memiliki penjaga yang waspada untuk keseluruhan aplikasi JavaScript Anda. Itu menangkap kesalahan yang terjadi di mana saja dalam kode Anda.
Berikut adalah cara Anda dapat menggunakannya:
window.onerror = function(message, source, lineno, colno, error) {
console.log("Terjadi kesalahan:");
console.log("Pesan:", message);
console.log("Sumber:", source);
console.log("Baris:", lineno);
console.log("Kolom:", colno);
console.log("Objek kesalahan:", error);
return true;
};
// Ini akan memicu handler kesalahan
nonExistentFunction();
Kode ini mengatur handler kesalahan global yang akan menangkap semua kesalahan yang belum ditangkap dalam aplikasi Anda.
Referensi Objek Kesalahan JavaScript
JavaScript menyediakan beberapa jenis kesalahan bawaan. Mari kita lihat mereka dalam tabel praktis:
Jenis Kesalahan | Deskripsi |
---|---|
Error | Jenis kesalahan umum |
SyntaxError | Terjadi saat ada kesalahan sintaks di kode |
ReferenceError | Terjadi saat merujuk ke variabel yang tidak ada |
TypeError | Terjadi saat nilai bukan jenis yang diharapkan |
RangeError | Terjadi saat sebuah bilangan di luar rentang yang diijinkan |
URIError | Terjadi saat menggunakan fungsi URI yang salah |
EvalError | Terjadi dalam hubungan dengan fungsi eval() |
Berikut adalah contoh bagaimana kesalahan ini mungkin terjadi:
try {
// SyntaxError
eval("Hello World");
// ReferenceError
console.log(undefinedVariable);
// TypeError
null.f();
// RangeError
let arr = new Array(-1);
// URIError
decodeURIComponent("%");
} catch (error) {
console.log(error.name + ": " + error.message);
}
Setiap baris ini akan melempar jenis kesalahan yang berbeda, yang blok catch
kita akan tangani.
Dan itu dia, teman-teman saya! Kita telah melakukan perjalanan melalui negeri penanganan kesalahan JavaScript. Ingat, kesalahan bukan musuh Anda - mereka adalah umpan balik berharga yang membantu Anda meningkatkan kode Anda. Embraksikan mereka, belajar dari mereka, dan segera Anda akan menangani kesalahan seperti seorang pro! ?
Tetap mengoding, tetap belajar, dan jangan lupa bersenang-senang dalam perjalanan! Sampai jumpa di les berikutnya! ?
Credits: Image by storyset