Ralat JavaScript
Pernyataan
cuba menguji blok kod untuk ralat.
tangkap ralat pemprosesan pernyataan. Pernyataan
lempar mencipta ralat tersuai.
Ralat JavaScript
Apabila enjin JavaScript melaksanakan kod JavaScript, pelbagai ralat akan berlaku.
Mungkin ralat sintaks, biasanya ralat pengekodan atau kesilapan menaip yang dibuat oleh pengaturcara.
boleh menjadi ralat ejaan atau ciri yang tiada dalam bahasa (mungkin disebabkan oleh perbezaan penyemak imbas).
Ralat mungkin disebabkan oleh output yang salah daripada pelayan atau pengguna.
Sudah tentu, ia juga mungkin disebabkan oleh banyak faktor lain yang tidak dapat diramalkan.
JavaScript melemparkan ralat
Apabila ralat berlaku, apabila berlaku masalah, enjin JavaScript biasanya berhenti dan menghasilkan mesej ralat.
Istilah teknikal untuk menerangkan situasi ini ialah: JavaScript akan membuang ralat. Kenyataan
JavaScript try and catch
try membolehkan kami mentakrifkan blok kod yang diuji untuk ralat apabila dilaksanakan. Pernyataan
catch membolehkan kami mentakrifkan blok kod yang akan dilaksanakan apabila ralat berlaku dalam blok kod cuba.
Pernyataan JavaScript cuba dan tangkap muncul secara berpasangan.
Syntax
try { //在这里运行代码 } catch(err) { //在这里处理错误 }
Contoh
Dalam contoh berikut, kami sengaja menulis kesilapan menaip dalam kod blok try.
Blok tangkapan menangkap ralat dalam blok cuba dan melaksanakan kod untuk mengendalikannya.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script> var txt=""; function message(){ try { adddlert("Welcome guest!"); } catch(err) { txt="本页有一个错误。\n\n"; txt+="错误描述:" + err.message + "\n\n"; txt+="点击确定继续。\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="查看消息" onclick="message()" /> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Pernyataan Lempar Pernyataan
membolehkan kami membuat ralat tersuai.
Istilah teknikal yang betul ialah: cipta atau buang pengecualian (pengecualian).
Jika anda menggunakan throw dengan try and catch, anda boleh mengawal aliran program dan menjana mesej ralat tersuai.
Syntax
Pengecualian boleh berupa rentetan JavaScript, nombor, nilai logik atau objek.
Contoh
Contoh ini mengesan nilai pembolehubah input. Jika nilainya salah, pengecualian (ralat) dilemparkan. catch akan menangkap ralat ini dan memaparkan mesej ralat tersuai:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script> function myFunction(){ try{ var x=document.getElementById("demo").value; if(x=="") throw "值为空"; if(isNaN(x)) throw "不是数字"; if(x>10) throw "太大"; if(x<5) throw "太小"; } catch(err){ var y=document.getElementById("mess"); y.innerHTML="错误:" + err + "。"; } } </script> </head> <body> <h1>我的第一个 JavaScript</h1> <p>请输出一个 5 到 10 之间的数字:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">测试输入</button> <p id="mess"></p> </body> </html>
Jalankan instance»
Klik " Butang Run Instance" untuk melihat contoh dalam talian
Sila ambil perhatian bahawa contoh di atas juga akan membuang ralat jika terdapat ralat dalam fungsi getElementById.