2012-02-07 51 views
25

在node.js中如果趕上uncaughtExceptions,就像這樣:Node.js不會在uncaughtException上顯示完整的錯誤消息,可以嗎?

process.on('uncaughtException', function (error) { 
    console.log(error); 
}); 

顯示不包含所有你收到,如果你不捕獲錯誤,只是讓進程崩潰信息的錯誤消息。當你讓進程崩潰時,它包括哪一行導致錯誤。有什麼辦法可以得到完整的錯誤信息,包括導致錯誤的行,所以我們可以使用uncaughtException記錄這些數據。

+3

這個問題本身已經解決了我的問題:)感謝很多:) – thefourtheye 2014-01-02 07:16:15

回答

54

嘗試error.stack

process.on('uncaughtException', function (error) { 
    console.log(error.stack); 
}); 
+0

完美謝謝:) – 2012-02-08 06:12:07

+2

如何表現出更多的,因爲在我的情況,error.stack只顯示3行,我無法追溯提出錯誤的問題的根源 – 2015-03-06 02:30:42

3

嘗試:

process.on('uncaughtException', function (error) { 
    console.dir(error); 
}); 
+1

先生,問題和答案之間的任何區別? – 2014-06-13 09:14:27

+0

@Jayram是的。這個問題使用'console.log(錯誤)'和我建議使用'console.dir(錯誤)'。 'console'對象有不同的功能。 – TheHippo 2014-06-13 13:03:49

+0

在這種情況下,我正在對您投票。感謝您指出。 – 2014-06-13 14:20:49