Jenis-jenis Situasi Pengecualian dalam JavaScript
Dalam JavaScript, sangat sedikit situasi di mana pengecualian berlaku. Pertama, semata-mata kerana sangat sedikit tempat untuk ia berlaku.
Kedua, kerana bahasa itu sendiri "sangat memaafkan": ia memandang sebelah mata terhadap banyak perkara, contohnya, pembahagian dengan sifar atau kod HTML yang tidak betul. Walaupun anda memberikan laluan yang salah kepada imej yang ingin dimuatkan, JavaScript akan memaafkannya dan tidak menganggapnya sebagai pengecualian.
Walau bagaimanapun, situasi pengecualian tetap wujud. Kami akan membincangkan dua yang paling mudah dan menggunakan contohnya untuk mempelajari cara mengendalikan pengecualian dalam JavaScript.
Pengecualian pertama berlaku apabila kita mahu menghuraikan JSON yang tidak betul:
let data = JSON.parse('{1,2,3,4,5}'); // json ini tidak betul
Dan pengecualian kedua berlaku apabila storan tempatan
yang diperuntukkan untuk tapak web kami penuh
(melebihi 5 megabait). Mari kita cetuskan
pengecualian sedemikian secara buatan:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // membentuk rentetan lebih 5 mb
str += '+';
}
localStorage.setItem('key', str); // cuba menulis ke storan
Bagaimana JavaScript bertindak balas terhadap situasi pengecualian sedemikian? Ia hanya melontarkan ralat ke konsol dan menghentikan pelaksanaan skrip selanjutnya.
Tugas kami, sebagai pengaturcara, adalah
untuk menangkap situasi sedemikian dan mengatasinya
dengan cara tertentu, tanpa membiarkan program berhenti
melaksanakan sepenuhnya. Untuk ini
terdapat konstruksi khas try-catch,
yang akan kita bincangkan dalam pelajaran seterusnya.
Cipta rentetan yang cukup besar dan cuba tulisnya ke dalam storan tempatan. Pastikan bahawa ralat akan muncul di konsol.
Cuba huraikan JSON yang tidak betul. Pastikan bahawa ralat akan muncul di konsol.