try … catch
在try里面发生的错误,不会执行错误后的try里面的代码
try{
console.log('a')
console.log(b)
console.log(c)
}catch(e) {
console.log(e.name + ':' + e.message);
}
console.log('d')
ctach没有捕捉到的错误会在控制台输出
错误消息类型
- EvalError: eval() 的使用与定义不一致
- RangeError: 数值越界
- ReferenceError: 非法或不能识别的引用数值(未定义就直接使用)
console.log(a);//Uncaught ReferenceError: a is not defined b();//Uncaught ReferenceError: b is not a function
- SyntaxError:发生语法解析错误(比如中英文符号错误)
function demo(){ var obj = { name:'zhangsan'//中文冒号 Uncaught SyntaxError: Invalid or unexpected token } }
- TypeError: 操作数类型错误(比如:数组方法操作对象)
var obj = {name:'zhang',sex:18}; obj.join('');//Uncaught TypeError: obj.join is not a function
- URIError: URI处理函数使用不当