0
我的應用程序不時會遇到錯誤,並導致整個事件崩潰。然後我必須登錄到服務器並每次重新啓動它。在Node和Express中處理錯誤
在網上搜索了一段時間後,我發現domains
是Node內處理錯誤處理的好方法。在進一步挖掘之後,我發現domains
現在已被棄用(不知道爲什麼?)。
然後我找到了一些答案,網上說用下面的代碼可以是有益的:
process.on('uncaughtException', function(err) {
console.log(err);
});
雖然,那簡直是隻爲節點,不能表達。因此,如果代碼位於使用Express的http請求中,則沒有任何內容會返回到瀏覽器,因此將其留在緩衝區(這也可能會佔用服務器上的內存)。
在NodeJS/ExpressJS中,在保持服務器運行的同時處理錯誤的最好方法是什麼?
尼斯。但是不處理隱式異常(就像試圖訪問數據對象上不可用的屬性)。就像如果你要使用'resolve(data123)'而不是'resolve(data)',Node就會崩潰,而不是通過中間件錯誤處理程序發送錯誤。 – Fizzix
@Fizzix - 是的,那不會由錯誤處理程序處理。在大多數情況下,linter會捕獲未定義的變量,但不會爲對象的不存在的屬性執行此操作。讓我知道你是否找到解決辦法。 –