月度归档:2013年04月

JavaScript错误与调试

前端开发中,应该除非大型团队对编程有着严格的日志控制和错误机制,在小型团队中的前端使用错误与调试还是基本上靠Firebug等调试工具。前端迭代时间短周期也比较短,在这方面也的确是一个欠缺。

阅读了《编写可维护的JavaScript》书中的第十章 ”抛出自定义错误“ 对代码的书写和规范还是有一定的启发。把一些有用的东西作为笔记记下来。

错误类型:

  • Error – 基本错误类型
  • EvalError – 通过 eval() 函数执行代码发生的错误抛出
  • RangeError – 数字超出其边界时抛出(例:创建一个负数索引的数组)
  • ReferenceError – 期望的对象不存在
  • SyntaxError – 给 eval() 函数传递的代码中有语法错误
  • TypeError – 变量不是期望的类型(new 10,’prop’ in true)
  • URLError – 常见于 encodeURI()、encodeURIComponent(),decodeURI() 等传递了非法格式的URI字符串时抛出。

关于 Try-Catch 的应用

  • 修复了一个难以调试和修复的BUG之后,尝试增加自定义错误,以便于下次调试时快速的定位错误代码。
  • 编写代码时的一些防御型、预见性的错误可以尝试添加错误处理函数。
  • 正在编写的代码需要提供给其他人使用,如果按照对方的思维,在特定的情况中抛出错误处理

错误以及错误处理不是为了防止错误,而是为了在错误发生时能够更加快速的调试和定位错误。