JavaScript

Javascript Cuba Tangkap

Javascript Cuba Tangkap

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

cuba
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.

cuba
penambahan ()
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

cuba
membuang 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.

cuba
setTimeout (() =>
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!

WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...
Butang klik kiri tetikus tidak berfungsi pada Windows 10
Sekiranya anda menggunakan tetikus khusus dengan komputer riba, atau komputer desktop anda tetapi butang klik kiri tetikus tidak berfungsi pada Window...
Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...