區分以下兩種錯誤類型將最大限度地減少應用程序停機時間并幫助避免出現荒唐的錯誤: 操作型錯誤指的是您了解發生了什么情況及其影響的情形 – 例如, 由于連接問題而導致對某些 HTTP 服務的查詢失敗問題。另一方面, 程序型錯誤指的是您不知道原因, 有時是錯誤不知道來自何處的情況 – 可能是一些代碼試圖讀取未定義的值或 DB 連接池內存泄漏。操作型錯誤相對容易處理 – 通常記錄錯誤就足夠了。當程序型錯誤出現,事情變得難以應付, 應用程序可能處于不一致狀態, 你可以做的cs16單機中文版 應用程序錯誤cs16單機中文版 應用程序錯誤,沒有什么比優雅的重新啟動更好了。
代碼示例 – 將錯誤標記為可操作 (受信任)
//將錯誤標記為可操作
var myError = new Error("How can I add new product when no value provided?");

myError.isOperational = true;
//或者, 如果您使用的是一些集中式錯誤工廠 (請參見項目符號中的示例"僅使用內置錯誤對象")

function appError(commonType, description, isOperational) {
Error.call(this);
Error.captureStackTrace(this);

this.commonType = commonType;
this.description = description;
this.isOperational = isOperational;

};
throw new appError(errorManagement.commonErrors.InvalidInput, "Describe here what happened", true);

博客引用: "程序型錯誤是程序中的 bug"
摘自博客 , 對于關鍵字“Node.JS error ”排名第一
…從程序型錯誤中恢復的最好方法是立即崩潰。您應該使用運行程序, 以便在發生崩潰時自動重新啟動程序。在一個使用了的地方, 在面對一個瞬態程序型錯誤, 崩潰是最快的方式來恢復可靠的服務…博客引用: "不伴隨著創建一些未定義的脆性狀態,沒有安全的方式可以離開"