Javascript adalah bahasa pengaturcaraan terjemahan. Sama seperti bahasa lain, pemaju atau pengaturcara sering perlu mengambil berat tentang menangani ralat. Sebilangan besar pengaturcara atau pembangun perlu menangani ralat semasa mengakses atau memberikan beberapa data ke pangkalan data. Jadi, pengendalian ralat adalah bahagian penting dari sebarang projek pengaturcaraan. Terdapat tiga jenis kesalahan dalam pengaturcaraan yang sering dihadapi oleh pengaturcara atau pembangun.
Ralat Sintaks - Kesalahan dalam menulis kod terhadap sintaks bahasa pengaturcaraan. Contohnya, kehilangan titik koma atau tidak mengikuti konvensyen membuat dan memanggil fungsi.
Ralat Logik - Ralat dalam pembinaan logik. Contohnya, melaksanakan operasi aritmetik yang salah, yang menghasilkan output yang salah.
Ralat Masa Jalan - Ralat berlaku semasa menjalankan. Seperti, memanggil fungsi tanpa menyatakannya.
Kesalahan yang kita dapat semasa menjalankan juga dikenali sebagai pengecualian. Pengendalian yang luar biasa sangat penting. Kerana kita tidak dapat membuang kesalahan dan kod kesalahan dengan segera. Kita mesti mengatasinya. Oleh itu, dalam artikel ini, kita akan mempunyai pemahaman tentang bagaimana menangani pengecualian menggunakan blok cubaan menangkap javascript. Kami juga akan belajar cara membuang pesan khusus terhadap kesalahan dan cara menggunakan blok "akhirnya" dengan blok cubaan menangkap.
Sintaks
Sintaks untuk menggunakan blok cubaan menangkap sangat mudah dan senang digunakan. Kita boleh menggunakan blok cubaan tangkapan seperti ini
cuba// kod untuk dicuba atau diuji
baling // lemparkan ralat tersuai untuk ditangkap
tangkapan (ralat)
// kod setelah mendapat ralat
akhirnya
// kod yang dilaksanakan dalam apa jua keadaan
Dalam sintaks ini, pertama-tama kita menulis beberapa baris kod dalam blok "cuba" untuk diuji. Sekiranya kod itu dilaksanakan atau berjaya lulus ujian. Blok "cuba" tidak akan membuang kesalahan ke blok "tangkapan" dan melaksanakan blok "akhirnya". Jika tidak, ia akan menimbulkan kesalahan ke blok "tangkapan" di mana kita dapat menangani pengecualian mengikut kesalahan yang diberikan. Kita boleh melemparkan ralat khusus ke blok "tangkapan" juga menggunakan kata kunci "lempar". Blok "Akhirnya" akan dilaksanakan dalam apa jua keadaan. Sama ada blok "cuba" melemparkan mana-mana atau tidak. Mari cuba beberapa contoh untuk mempunyai pemahaman yang lebih baik.
Contoh
Pertama sekali, untuk menunjukkan kerja sederhana dan asas blok cubaan tangkapan. Kami cuba memanggil fungsi tanpa menyatakannya di mana sahaja.
penambahan ()Ia pasti akan menimbulkan kesalahan pada konsol
Tetapi, jika kita cuba menyebutnya dalam blok percubaan sekarang
penambahan ()
tangkapan (ralat)
Ini tidak akan menunjukkan sebarang ralat di konsol lagi kerana kami tidak menulis sebarang kod di blok tangkapan untuk kesalahan. Jadi, kita boleh mengubah dan menghiburkan mesej ralat di blok tangkapan sekarang.
cubapenambahan ()
tangkapan (ralat)
konsol.log ("Ralat Mesej =>" + ralat)
Kami dapat melihat mesej tersuai kami di konsol sekiranya berlaku ralat.
Jadi, ini adalah penggunaan asas try-catch block. Sekarang, mari belajar tentang membuang ralat tersuai di blok percubaan.
Baling
Katakan kita ingin membuang ralat kebiasaan yang berlainan berdasarkan ralat yang berlainan semasa mencuba. Kita boleh membuang ralat tersuai, bahawa "Definisi fungsi tidak ada."Seperti ini
cubamembuang Ralat baru ("Definisi fungsi tidak wujud")
tangkap (err)
konsol.log ("Mesej Ralat =>" + err)
Seperti yang anda lihat dalam output, mesej ralat kini diubah menjadi ralat tersuai kami yang dilemparkan.
ProTip
Anggaplah kita cuba menerapkan try-catch ini pada fungsi tak segerak. Ia tidak akan berjaya. Kerana mesin akan bergerak ke baris berikutnya, jalankan blok terakhir, dan fungsi asinkron akan dijalankan kemudian. Contohnya, jika kita menerapkan fungsi SetTimeout di dalam blok cubaan tangkap.
cubasetTimeout (() =>
penambahan ();
, 3000)
tangkap (err)
konsol.log ("Mesej Ralat =>" + err)
akhirnya
konsol.log ("dicapai 'akhirnya' blok")
Anda dapat melihat bahawa blok "akhirnya" dijalankan terlebih dahulu, dan kesalahan akan dilemparkan kemudian jika kita melihat kesalahan tersebut. Ini bukan kesalahan dari blok tangkapan, tetapi itu adalah kesalahan pengaturcaraan yang asli, yang bermaksud bahawa blok tangkapan tidak dapat dijalankan kerana mereka mencuba blok tidak menemui kesalahan.
Baiklah! Sekarang, jika kita mahu menjadikannya berfungsi. Kita harus menerapkan blok try-catch di dalam fungsi setTimeout dan bukannya di luar. Jadi, cara sebenar melaksanakan fungsi tak segerak dengan blok cubaan menangkap seperti ini.
setTimeout (() =>cuba
penambahan ();
tangkap (err)
konsol.log ("Mesej Ralat =>" + err)
akhirnya
konsol.log ("dicapai 'akhirnya' blok")
, 3000)
Anda dapat melihat dalam output bahawa setelah penundaan 3 saat kerana fungsi setTimeout. Kami mendapat mesej ralat dari blok tangkapan terlebih dahulu, dan kemudian blok "akhirnya" dijalankan.
Kesimpulannya
Dalam artikel ini, Kami telah belajar untuk menerapkan langkah demi langkah dalam javascript dengan cara yang mudah dan mendalam sehingga setiap pemula setelah membaca artikel ini dapat menerapkannya di mana saja dia memerlukan. Jadi, teruskan belajar dan dapatkan pengalaman dalam javascript dengan linuxhint.com. Terima kasih!