javascript怎么进行全局错误处理


本文摘自PHP中文网,作者青灯夜游,侵删。

在JavaScript中,可以通过绑定“window.onerrot”事件来进行页面全局error错误处理,语法格式“function 函数名(msg,url,l,c,error){//代码} window.onerror = 函数名;”。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript引擎执行JavaScript代码时,会发生各种错误:可能是语法或拼写错误,可能是浏览器差异(使用了浏览器特有功能),也可能是服务器返回异常未处理,当然还有许多其它不可预知的因素。当错误发生时,JavaScript 引擎会中断后续代码执行,并生成一个错误消息。为了使代码更健壮,避免代码意外中断,我们需要处理各种异常。

1、局部错误处理

局部错误处理指代码可能出错的地方进行错误捕捉处理,需要程序猿进行硬code,JavaScript错误处理相关有4条语句:

1)try, catch语句,错误捕捉语句

2)finall语句,错误捕捉处理后,return前制执行语句

3)throw语句,错误抛出语句

案例1:

1

2

3

4

5

6

7

try {

  window.abcdefg();

} catch (e) {

  alert('发生错误啦,错误信息为:' e.message);

} finally {//总是会被执行

  alert('我都会执行!');

}

控制台输出:

发生错误啦,错误信息为: window.abcdefg is not a function
我都会执行

finally语句在catch后,return前执行。

案例2

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

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Throw Demo</title>

</head>

<body>

<script>

function myFunction()

{

try

  {

  var x=document.getElementById("demo").value;

  if(x=="")    throw "不能为空";

  if(isNaN(x)) throw "不是有效数字";

  if(x>10)     throw "不能大于10";

  if(x<5)      throw "不能小于5";

  } catch(err) {

  var y=document.getElementById("mess");

  y.innerHTML="Error: " + err + ".";

  }

}

</script>

<p>请输入一个5到10的数字:</p>

<input id="demo" type="text">

<button type="button" onclick="myFunction()">Test Input</button>

<p id="mess"></p>

</body>

</html>

throw的作用就是将可预见或不可预见的错误转义成用户可认知的错误。

阅读剩余部分

相关阅读 >>

javascript继承有哪两种形式

javascript中宿主对象和原生对象的区别是什么

javascript怎么定义动态变量

javascript分为哪两种数据类型

js遇到代码出现问题时调试代码的方法

javascript函数是什么

javascript定义变量的方法有哪些

定义javascript数组的方法有哪些

javascript怎么将对象转成字符串

javascript 设计模式之单例模式

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...