JavaScript 错误与调试

浏览器的报错

try-catch语句

1
2
3
4
5
try {
// 可能会导致出错的代码
} catch(error) {
// 在错误发生时怎么处理
}

错误类型

  • Error:基类,其它错误类型都继承自该类型。
  • EvalError:如果没将eval当成函数调用就会抛出此类型错误。
  • RangeError:超出范围就会抛出此错误类型。例如:在初始化数组时传入了不支持的项数,比如-20。
  • ReferenceError:访问不存在的变量时会抛出此类型的错误。
  • SyntaxError: 当语法错误时会抛出此类型的错误。例如:在js中运行 ’a 这样的错误语句。
  • TypeError:当发生类型错误时抛出此类型的错误。例如:运行不存在的方法,在undefined中取值
  • URIError:在使用encodeURI或decodeURI时url格式不正确会抛出此类错误。我尝试传入对象,数值都没抛出错误。例:%abcd。会报错

浏览器的调试

  • error(message):将错误消息记录到控制台
  • info(message):将信息性消息记录到控制台
  • log(message):将一般消息记录到控制台
  • warn(message):将警告消息记录到控制台