2012-02-22 28 views
3

近日筆者從v0.4.9的NodeJS更新到v0.6.11,發現沒有我的堆棧跟蹤被顯示出來。我依靠其中的一些來驗證測試。任何人都知道最新情況或者是否有不同的方式來做到這一點?Error.captureStackTrace不再適用於最新版本的nodejs(v0.6.11)。它被替換了嗎?

+0

可你剛纔讀'err.stack'直接? – loganfsmyth 2012-02-22 21:37:10

+0

我已經通過這樣的Error對象建模(http://expressjs.com/guide.html#error-handling),並且我在響應中返回它們。我可以通過err.stack訪問堆棧,但是當我需要將堆棧發回json響應時,它無法提供幫助。 – greatergreg 2012-02-22 22:00:03

+0

快速錯誤處理指南的更新鏈接:http://expressjs.com/en/guide/error-handling.html – groovecoder 2016-12-13 18:52:30

回答

3

測試今日(2013年11月9日)與節點v0.10.5,這個工程:

var ParseError = exports.ParseError = function(message) { 
    Error.captureStackTrace(this, ParseError); 
    this.message = message; 
} 

ParseError.prototype = Object.create(Error.prototype); 
ParseError.prototype.constructor = ParseError; 

new ParseError('some message')被拋出,它承載着stack屬性抓到時預期。

相關問題