Ralat JavaScript

Ralat JavaScript - baling, cuba dan tangkap

  • pernyataan cuba menguji blok kod untuk ralat.

  • ralat pemprosesan kenyataan tangkapan. Pernyataan lontaran

  • mencipta ralat tersuai.


Ralat JavaScript

Apabila enjin JavaScript melaksanakan kod JavaScript, pelbagai perkara akan berlaku kesilapan.

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 membuang ralat

apabila Apabila ralat berlaku, apabila berlaku masalah, enjin JavaScript biasanya berhenti dan menjana mesej ralat.

Istilah teknikal untuk menerangkan situasi ini ialah: JavaScript akan membuang ralat.


JavaScript cuba dan tangkap

cuba Pernyataan membolehkan kami mentakrifkan blok kod yang diuji untuk ralat apabila dilaksanakan.

tangkap Pernyataan membolehkan kami mentakrifkan blok kod yang akan dilaksanakan apabila ralat berlaku dalam blok kod cuba.

Pernyataan JavaScript cuba dan tangkap muncul secara berpasangan.

Sintaks

cuba {
//Jalankan kod di sini
} tangkap(err) {
//Kendalikan ralat di sini
}

Instance

Dalam contoh di bawah, kami sengaja Terdapat kesilapan kesilapan yang ditulis dalam kod blok cuba. Makluman itu sengaja ditulis sebagai addlert

Blok tangkapan akan menangkap ralat dalam blok cuba dan melaksanakan kod untuk mengendalikannya.

<!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>

Jalankan program untuk mencubanya


Kenyataan Lempar

Pernyataan lontaran membolehkan kami mencipta kesilapan tersuai.

Istilah teknikal yang betul ialah: mencipta atau melontar pengecualian.

Jika anda menggunakan throw dengan try and catch, anda boleh mengawal aliran program dan menjana mesej ralat tersuai.

Sintaks

throw exception

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:

<!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 atur cara dan cuba


Nota, jika terdapat ralat dalam getElementById fungsi, di atas Contoh juga akan membuang ralat.



Meneruskan pembelajaran
||
<!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>
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!