我正在使用節點檢查器,我注意到new Error()
有未定義的堆棧。NodeJS錯誤堆棧未定義
如果我將這個值賦給一個變量,那個變量就會顯示堆棧未定義。
有趣的是,運行new Error().stack
會生成一個帶有正確堆棧的消息。
理想情況下,這些錯誤默認會有堆棧,所以當我登錄時我可以知道去哪裏看。
我不明白爲什麼會發生這種情況,無法找到它的信息。有什麼我在這裏失蹤?
我正在使用節點檢查器,我注意到new Error()
有未定義的堆棧。NodeJS錯誤堆棧未定義
如果我將這個值賦給一個變量,那個變量就會顯示堆棧未定義。
有趣的是,運行new Error().stack
會生成一個帶有正確堆棧的消息。
理想情況下,這些錯誤默認會有堆棧,所以當我登錄時我可以知道去哪裏看。
我不明白爲什麼會發生這種情況,無法找到它的信息。有什麼我在這裏失蹤?
一個小例證:
function newError() {
var error = new Error('ohhh')
// See the contents of a _stack variable using the Inspector
var _stack = '' + error.stack
}
newError()
但問題是:爲什麼懶惰的一代會出錯?即使被訪問,在什麼情況下它不會生成堆棧?這裏的鏈接沒有多大幫助。代碼片段也沒有幫助:它評估爲'undefined',因爲'newError'沒有'return'語句,不是因爲評估堆棧的問題。 –
也許,你能添加一些代碼?什麼時候「'新的錯誤()'[有]未定義的堆棧」?不是當你運行'Error Error()。stack'時,顯然。至於信息來源,如果你沒有看到這個信息,這是一個很好的開始:「https://nodejs.org/api/errors.html」。我希望有所幫助。 – BaldEagle