本例檢測(cè)輸入變量的值亦渗。如果值是錯(cuò)誤的,會(huì)拋出一個(gè)異常(err)
異常 (err) 通過(guò) catch 語(yǔ)句捕獲并自定義輸出錯(cuò)誤信息:
定義和用法:
throw 語(yǔ)句拋出一個(gè)錯(cuò)誤丁鹉。
當(dāng)錯(cuò)誤發(fā)生時(shí), JavaScript 會(huì)停止執(zhí)行并拋出錯(cuò)誤信息。
描述這種情況的技術(shù)術(shù)語(yǔ)是:JavaScript 將拋出一個(gè)錯(cuò)誤位仁。
throw 語(yǔ)句創(chuàng)建自定義錯(cuò)誤。
技術(shù)術(shù)語(yǔ)是: 拋出異常方椎。
異衬羟溃可以是 JavaScript 字符串、數(shù)字棠众、邏輯值或?qū)ο螅?br>
注意點(diǎn): catch 和 finally語(yǔ)句都是可選的琳疏,但在使用 try語(yǔ)句時(shí)必須至少使用一個(gè)。當(dāng)錯(cuò)誤發(fā)生時(shí)闸拿, JavaScript 會(huì)停止執(zhí)行空盼,并生成一個(gè)錯(cuò)誤信息⌒禄纾可以使用throw語(yǔ)句 來(lái)創(chuàng)建自定義消息(拋出異常)
只能捕獲到同步的異常揽趾,不能捕獲語(yǔ)法和異步的異常,在日常使用中需要注意
<!DOCTYPE html>
<html>
<body>
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>
<script>
function myFunction() {
var message, x;
message = document.getElementById("message");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "is Empty";
if(isNaN(x)) throw "not a number";
if(x > 10) throw "too high";
if(x < 5) throw "too low";
}
catch(err) {
message.innerHTML = "Input " + err;
}
}
</script>
</body>
</html>