Js中最常见的异常捕捉 TryCatch

 今天检查网页的时候因为一段Js报错 导致下面的js没有执行(一个js动态添加的弹窗没有出现)

原因是因为

 一个属性本身是undefined 找不到 无法给他赋值 
这里的原因很简单 也已经修改好了

但是这里我不禁思索 如果能提前避免这样的错误发生而导致不必要的损失岂不美哉?

好了try catch就为我们提供了这种捕捉未来可能发生的错误并提示 在你可能预测到此方法会报错像这样

try {
yourFn() ;//maybe errored
} catch (e) { console.log(e.name + ": " + e.message); }
otherFn() ;

这里就算是你的yourFnf方法报错也不会 影响下面代码的执行 就是这么easy!

下面介绍的是可能遇到的系统异常
  • EvalError: raised when an error occurs executing code in eval()   当一个错误发生在()执行的代码
  • RangeError: raised when a numeric variable or parameter is outside of its valid range  当一个数值变量或参数超出其有效范围时引发的
  • ReferenceError: raised when de-referencing an invalid reference  无效的饮用
  • SyntaxError: raised when a syntax error occurs while parsing code in eval()  当发生语法错误在()解析代码,而
  • TypeError: raised when a variable or parameter is not a valid type  当一个变量或参数不是一个有效的类型时引发
  • URIError: raised when encodeURI() or decodeURI() are passed invalid parameters  当encodeuri()或decodeuri()传递了无效的参数

    上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:

 

new Error();
new Error("异常信息");

  这样手动抛出异常

 

try {
 throw new Error("Whoops!");
} catch (e) {
 alert(e.name + ": " + e.message);
}

 

 

posted @ 2016-10-26 10:44  Mrzwq  阅读(20033)  评论(1编辑  收藏  举报