JavaScript系列知识——JavaScript错误
一、JavaScript 错误
当 JavaScript 引擎执行 JavaScript代码时,会发生各种错误。可能是语法错误,通常是程序员造成的编码错误或错别字。可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。可能是由于来自服务器或用户的错误输出而导致的错误。当然,也可能是由于许多其他不可预知的因素。
二、JavaScript 错误 throw、try 和 catch
- try 语句测试代码块的错误。
- catch 语句处理错误。
- throw 语句创建自定义错误。
三、JavaScript 抛出(throw)错误
当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。描述这种情况的技术术语是:JavaScript 将抛出一个错误。
四、JavaScript的try 和 catch
try 语句允许我们定义在执行时进行错误测试的代码块。catch 语句允许我们定义当 try 代码块发生错误时所执行的代码块。JavaScript 语句 try 和 catch 是成对出现的。
语法
try {
//在这里运行代码
} catch(err) {
//在这里处理错误
}
五、JavaScript的throw 语句
throw 语句允许我们创建自定义错误。正确的技术术语是:创建或抛出异常(exception)。如果把 throw 与 try 和 catch 一起使用,那么能够控制程序流,并生成自定义的错误消息。
语法
throw exception
异常可以是 JavaScript 字符串、数字、逻辑值或对象。
六、例子
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>JavaScript错误</title>
</head>
<body>
<p>请输入一个5-50之间的数字</p>
<input type="text" id="txt"/>
<button type="button" id="btn" onclick="alertMsg()">请检测</button>
<br/>
<span id="msg"></span>
<script>
var txt=document.getElementById("txt");
var btn=document.getElementById("btn");
var msg=document.getElementById("msg");
function alertMsg(){
try {
if(txt.value=="") throw "值为空";
if(isNaN(txt.value)) throw "您输入的值不是数字";
txt.value = Number(txt.value);
if(txt.value<5) throw "您输入的值小于5";
if(txt.value>50) throw "您输入的值大于50";
}
catch(err){
msg.innerHTML = "错误:" + err ;
}
}
</script>
</body>
</html>