Error对象
一旦代码解析或运行时发生错误,JavaScript引擎就会自动产生并抛出一个Error对象的实例,然后整个程序就中断在发生错误的地方。
Error对象的实例有三个最基本的属性:
- name:错误名称
- message:错误提示信息
- stack:错误的堆栈(非标准属性,但是大多数平台支持)
利用name和message这两个属性,可以对发生什么错误有一个大概的了解。
if (error.name){ console.log(error.name + ": " + error.message); }
上面代码表示,显示错误的名称以及出错提示信息。
stack属性用来查看错误发生时的堆栈。
function throwit() {
throw new Error(''); } function catchit() { try { throwit(); } catch(e) { console.log(e.stack); // print stack trace } } catchit() // Error // at throwit (~/examples/throwcatch.js:9:11) // at catchit (~/examples/throwcatch.js:3:9) // at repl:1:5
上面代码显示,抛出错误首先是在throwit函数,然后是在catchit函数,最后是在函数的运行环境中。