如何正确使用Javascript来处理错误?

当我想发送和错误使用JavaScript我做的:

抛出新的Error()

它的工作原理,但如果我传递一个数字,例如:

抛出新的错误(500)

结果是:

错误:500

其中“错误:”是一个string。

我有一个处理这个错误的函数,这个函数必须知道错误的代码,如何检索它? 我必须parsingstring吗? 🙁

谢谢。

如果以这种方式抛出错误,则括号之间的文本将成为错误消息。 您也可以使用自定义错误对象 。

一个非常有用的链接: 抛出JavaScript错误的艺术

错误实例有一个message属性,这就是你应该分析,而不是它打印到控制台(这是Error.prototype.toString )。

请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error – 错误消息始终是一个string。 即使你传递一个数字,它也会被隐式地转换成一个string。

Error: 500Error对象的默认string表示forms – 如果将此对象转换为string或直接调用error.toString() 。 如果您对错误消息感兴趣,则应该直接访问消息 – parseInt(error.message, 10)应该可以。

我强烈build议不要抛出错误。 尝试赶上是昂贵的,一个滑倒将意味着你的服务器closures。

我build议你使用事件的方法,包括eventemitters是你的大部分代码。

这样你可以做this.emit("error", new Error(500))

如果我得到你所说的,用一些RegExp提取数字?

您实际上不需要使用Error对象。 你可以写一个throw然后是任何你想被catch块捕获的东西。 这个小代码片段在警告框中显示500。

 function throwError(msg){ throw msg; } try{ throwError(500); }catch(e){ alert(e); } 

如果使用typeoftestinge ,则返回数字。