Jenis-jenis Situasi yang Terjadi dalam JavaScript
Di JavaScript, sangat sedikit situasi yang menyebabkan pengecualian (exception). Pertama, hanya karena sangat sedikit tempat untuk kemunculannya.
Kedua, karena bahasa itu sendiri "pemaaf": ia mengabaikan banyak hal, misalnya, pembagian dengan nol atau kode HTML yang tidak benar. Bahkan jika Anda menentukan path yang salah untuk gambar yang akan dimuat, JavaScript akan memaafkannya dan tidak menganggapnya sebagai pengecualian.
Namun, situasi pengecualian memang ada. Kami akan membahas dua yang paling sederhana dan menggunakan contohnya untuk mempelajari cara menangani pengecualian di JavaScript.
Pengecualian pertama terjadi ketika kita ingin mengurai JSON yang tidak benar:
let data = JSON.parse('{1,2,3,4,5}'); // json ini tidak benar
Dan pengecualian kedua terjadi ketika penyimpanan lokal
yang dialokasikan untuk situs kita penuh
(lebih dari 5 megabyte). Mari kita picu
pengecualian seperti itu secara artifisial:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // membentuk string lebih dari 5 mb
str += '+';
}
localStorage.setItem('key', str); // mencoba menulis ke penyimpanan
Bagaimana JavaScript bereaksi terhadap situasi pengecualian seperti itu? Ia hanya akan mencetak kesalahan ke konsol dan menghentikan eksekusi skrip lebih lanjut.
Tugas kita, sebagai programmer, adalah
menangkap situasi seperti itu dan menanganinya
dengan cara tertentu, tanpa membiarkan program
benar-benar berhenti dieksekusi. Untuk itu
ada konstruksi khusus try-catch,
yang akan kita bahas dalam pelajaran berikutnya.
Buatlah string dengan ukuran yang cukup besar dan coba tuliskan ke penyimpanan lokal. Pastikan bahwa akan muncul error di konsol.
Cobalah untuk mengurai JSON yang tidak benar. Pastikan bahwa akan muncul error di konsol.