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

lempar 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:

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.