⊗jsSpExcInr 137 of 294 menu

Pengenalan kepada Situasi Pengecualian dalam JavaScript

Sekarang kita akan mempertimbangkan situasi pengecualian dalam JavaScript. Untuk permulaan, saya akan membuat sedikit pengenalan, yang akan mengandungi contoh situasi pengecualian secara umum untuk sebarang bahasa pengaturcaraan, dan kemudian kita akan memahami bagaimana keadaannya dalam JavaScript.

Apabila kita menulis program kita, kita secara tersirat mengharapkan bahawa semua mekanisme teknikal-pengaturcaraan yang digunakan oleh kita akan berfungsi dengan betul.

Walau bagaimanapun, ini tidak selalu benar. Semasa penghantaran data melalui rangkaian, sambungan terputus dan data sampai kepada kita dalam bentuk yang tidak betul, atau langsung tidak sampai. Semasa menulis fail, ternyata ruang yang diperuntukkan kepada kita pada cakera keras telah habis, dan fail tidak dapat ditulis. Semasa membaca fail, ternyata fail tersebut tidak wujud dan kita tidak mempunyai sumber untuk membaca. Semasa mencetak data pada pencetak, berlaku kerosakan kabel yang menyambungkan pencetak dan komputer.

Semua situasi yang diterangkan mempunyai intipati yang sama: berlaku suatu kegagalan, yang membawa kepada ketidakmampuan atau tidak bermakna untuk menyelesaikan operasi yang dirancang.

Terdapat juga situasi di mana berlakunya ralat tertentu, yang bukan merupakan kegagalan. Sebagai contoh, anda bertanya kepada pengguna tentang emailnya, dan dia memasukkan email dalam format yang tidak betul. Jelaslah, program kita tidak boleh terus memproses email tersebut, kerana ia tidak betul. Namun, ini bukanlah situasi pengecualian. Program kita boleh sendiri membetulkan keadaan: ia akan memaparkan mesej ralat dan pengguna akan mengulangi inputnya.

Sebenarnya, perbezaan antara kegagalan dan bukan kegagalan sangat kabur. Peristiwa yang satu program boleh tafsirkan sebagai situasi pengecualian, program lain boleh tafsirkan sebagai suatu ralat, yang boleh diatasinya.

Kriteria di sini adalah seperti berikut: jika berlakunya masalah program anda boleh meneruskan melakukan apa yang ia dimaksudkan untuk dilakukan, maka itu bukan situasi pengecualian, dan jika tidak boleh - maka ya, itu adalah pengecualian.

Sebagai contoh, kita mempunyai program yang perlu bertanya email pengguna. Jika pengguna memasukkan email dalam format yang tidak betul - itu bukan kegagalan. Itu adalah masalah yang dijangka dan program kita akan bertanya kepada pengguna tentang email sebanyak kali yang diperlukan, sehingga dia memasukkannya dengan betul.

Katakan program kita, yang bertanya email, juga perlu menghantar email yang betul itu melalui internet. Pada masa yang sama, ternyata internet tidak berfungsi. Inilah sudah menjadi masalah: program tidak akan dapat menghantar data melalui internet, jika internet tidak berfungsi. Program, walau bagaimanapun, boleh meneruskan pelaksanaannya: ia boleh memaparkan maklumat tentang masalah tersebut, mengulangi percubaan penghantaran selepas beberapa ketika, dan seterusnya. Tetapi tindakan-tindakan ini bukanlah sepenuhnya apa yang program itu dimaksudkan untuk lakukan, kerana tindakan utama - penghantaran email program tidak dapat melakukannya.

Sering kali, sama ada sesuatu itu situasi pengecualian atau tidak, bergantung pada bahasa pengaturcaraan. Dalam banyak bahasa, jika tiba-tiba berlaku pembahagian dengan sifar - ini dianggap sebagai pengecualian (kerana tidak boleh membahagi dengan sifar), tetapi dalam JavaScript - tidak dianggap (dalam JavaScript boleh membahagi dengan sifar).

dauzlptidit