no-process-exit
禁止使用 process.exit()
Node.js 中的 process.exit()
方法用於立即停止 Node.js 程序並退出。這是一個危險的操作,因為它可能在任何時間點的任何方法中發生,當錯誤發生時,可能會完全停止 Node.js 應用程式。例如
if (somethingBadHappened) {
console.error("Something bad happened!");
process.exit(1);
}
此程式碼可能出現在任何模組中,並且當 somethingBadHappened
為真值時,將停止整個應用程式。這沒有給應用程式任何回應錯誤的機會。通常最好拋出錯誤並允許應用程式適當地處理它
if (somethingBadHappened) {
throw new Error("Something bad happened!");
}
透過以這種方式拋出錯誤,應用程式的其他部分有機會處理錯誤,而不是完全停止應用程式。如果錯誤一路冒泡到程序而沒有被處理,那麼程序將會退出,並且會傳回非零的退出碼,因此最終結果是相同的。
如果您僅使用 process.exit()
來指定退出碼,您可以設定 process.exitCode
(在 Node.js 0.11.8 中引入)來替代。
規則詳細資訊
此規則旨在防止在 Node.js JavaScript 中使用 process.exit()
。因此,當在程式碼中找到 process.exit()
時,它會發出警告。
此規則的錯誤程式碼範例
在 Playground 中開啟
/*eslint no-process-exit: "error"*/
;
;
此規則的正確程式碼範例
在 Playground 中開啟
/*eslint no-process-exit: "error"*/
Process.exit();
var exit = process.exit;
何時不應使用
Node.js 應用程式的某部分可能負責決定退出時要傳回的正確退出碼。在這種情況下,您應該關閉此規則以允許正確處理退出碼。
版本
此規則在 ESLint v0.4.0 中引入。