JavaScript - Penanganan Kesalahan & Eksepsi
Hai sana, para ahli JavaScript masa depan! ? Selamat datang ke perjalanan yang menarik ke dunia penanganan kesalahan dalam JavaScript. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengorbit Anda melalui petualangan ini. Jadi, pasang sabuk keselamatan Anda, dan mari kita masuk ke dalam!
Apa Itu Kesalahan?
Imajinasikan Anda sedang membuat kue ?, dan secara tak sengaja Anda menggunakan garam bukan gula. Itu adalah kesalahan! Dalam pemrograman, kesalahan adalah hal yang mirip - mereka adalah masalah yang tak diharapkan yang terjadi ketika kode kita dijalankan. Ini bisa berupa kesalahan penulisan, kesalahan logika, atau bahkan masalah dengan data yang kita gunakan.
Ini adalah contoh sederhana kesalahan dalam JavaScript:
console.log(Hello, World!);
Jika Anda menjalankan kode ini, Anda akan mendapat kesalahan karena kami lupa menaruh tanda kutip di sekitar teks kita. JavaScript mengharapkan string ada di dalam tanda kutip.
Apa Itu Penanganan Kesalahan?
Penanganan kesalahan adalah seperti memiliki jaring keselamatan saat Anda berjalan di tali licin. Itu adalah cara untuk mengelola kesalahan dalam kode kita dengan halus, mencegah program keseluruhan kita dari jatuh saat sesuatu sakit.
Statement try...catch...finally
Statement try...catch...finally
adalah alat utama kita untuk menangani kesalahan dalam JavaScript. Itu seperti superhero trio yang datang untuk menyelamatkan hari! ?♀️?♂️?♀️
Ini 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 dijalankan, tanpa mengira kesalahan
console.log("Ini selalu dijalankan!");
}
Dalam contoh ini:
- Blok
try
mengandung kode yang mungkin menyebabkan kesalahan (membagi dengan nol). - Jika terjadi kesalahan, blok
catch
menangkapnya dan menangani secara halus. - Blok
finally
selalu dijalankan, baik 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 permainan dan memanggil pelanggaran! ?
Ini adalah contoh:
function checkAge(age) {
if (age < 0) {
throw new Error("Umur tidak bisa negatif!");
}
console.log("Umur valid:", age);
}
try {
checkAge(-5);
} catch (error) {
console.log("Menangkap kesalahan:", error.message);
}
Dalam kode ini, kita melempar kesalahan khusus ketika seseorang mencoba menggunakan umur negatif. Blok catch
kemudian menangani kesalahan ini.
Properti Pengguna onerror
Properti pengguna onerror
adalah seperti memiliki penjaga yang waspada untuk keseluruhan aplikasi JavaScript Anda. Itu menangkap kesalahan yang terjadi di mana saja dalam kode Anda.
Ini adalah cara Anda bisa 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 pengguna onerror
nonExistentFunction();
Kode ini menyetel pengguna global penanganan kesalahan 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 yang mudah:
Jenis Kesalahan | Deskripsi |
---|---|
Error | Jenis kesalahan umum |
SyntaxError | Terjadi saat ada kesalahan sintaks di kode |
ReferenceError | Terjadi saat merujuk variabel yang tidak ada |
TypeError | Terjadi saat nilai bukan jenis yang diharapkan |
RangeError | Terjadi saat nilai di luar rentang yang diperbolehkan |
URIError | Terjadi saat menggunakan fungsi URI yang salah |
EvalError | Terjadi dalam hubungan dengan fungsi eval() |
Ini 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 adalah, murid-murid sayang! Kita telah berpetualangan melalui negeri penanganan kesalahan JavaScript. Ingat, kesalahan bukan musuh Anda - mereka adalah umpan balik berharga yang membantu Anda meningkatkan kode Anda. Embrasyikan mereka, belajar dari mereka, dan segera Anda akan menangani kesalahan seperti seorang ahli! ?
Terus kode, terus belajar, dan jangan lupa untuk bersenang-senang dalam perjalanan! Sampaijumpa di pelajaran berikutnya! ?
Credits: Image by storyset