JavaScript 错误 – throw、try 和 catch

释放双眼,带上耳机,听听看~!

JavaScript 错误

可能是语法错误,通常是程序员造成的编码错误或错别字。
可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
可能是由于来自服务器或用户的错误输出而导致的错误。
当然,也可能是由于许多其他不可预知的因素。

JavaScript 抛出(throw)错误

当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。
描述这种情况的技术术语是:JavaScript 将抛出一个错误。

JavaScript try 和 catch

try 语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

JavaScript 语句 try 和 catch 是成对出现的。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1<!DOCTYPE html>
2<html>
3<head>
4<meta charset="utf-8">
5
6<script>
7var txt="";
8function message(){
9    try {
10        adddlert("Welcome guest!");
11    }
12    catch(err) {
13        txt="本页有一个错误。\n\n";
14        txt+="错误描述:" + err.message + "\n\n";
15        txt+="点击确定继续。\n\n";
16        alert(txt);
17    }
18}
19</script>
20</head>
21<body>
22
23<input type="button" value="查看消息" onclick="message()" />
24
25</body>
26</html>
27

运行结果:
本页有一个错误。
错误描述:adddlert is not defined
点击确定继续。

Throw 语句

throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1<!DOCTYPE html>
2<html>
3<head>
4<meta charset="utf-8">
5
6</head>
7<body>
8
9<p>请输出一个 5 到 10 之间的数字:</p>
10
11<input id="demo" type="text">
12<button type="button" onclick="myFunction()">测试输入</button>
13<p id="message"></p>
14
15<script>
16function myFunction() {
17    var message, x;
18    message = document.getElementById("message");
19    message.innerHTML = "";
20    x = document.getElementById("demo").value;
21    try {
22        if(x == "")  throw "值为空";
23        if(isNaN(x)) throw "不是数字";
24        x = Number(x);
25        if(x < 5)    throw "太小";
26        if(x > 10)   throw "太大";
27    }
28    catch(err) {
29        message.innerHTML = "错误: " + err;
30    }
31}
32</script>
33
34</body>
35</html>
36

给TA打赏
共{{data.count}}人
人已打赏
安全技术

C++遍历文件夹

2022-1-11 12:36:11

安全经验

Jenkins高级篇之Pipeline实践篇-6-Selenium和Jenkins持续集成-pipeline参数化构建selenium自动化测试

2021-10-11 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索