本文介紹Node.js運行環境的錯誤處理,包括錯誤類型和異常資訊。
錯誤類型
Node.js函數的錯誤類型包含以下兩種:
- HandledInvocationError:通過
callback
的第一個參數返回的錯誤。執行以下命令調用
callback
命令。exports.handler = function(event, context, callback) { callback(new Error('oops')); };
收到的響應樣本如下所示。
{ "errorMessage":"oops", "errorType":"Error", "stackTrace":[ "Error: oops"," at exports.handler (/code/index.js:2:12)" ]}
- FunctionUnhandledError:Function Compute為您捕獲到異常後返回的錯誤。
當您的代碼拋出異常且未捕獲時,Function Compute會為您捕獲錯誤,並返回錯誤資訊。
exports.handler = function(event, context, callback) { throw new Error('oops'); };
收到的響應樣本如下所示。
{ "errorMessage":"oops", "errorType":"FunctionUnhandledError: Error", "stackTrace":[ "Error: oops"," at exports.handler (/code/index.js:2:9)" ]}
如果您的函數在運行過程中主動退出,系統會返回一個通用的錯誤資訊。
exports.handler = function(event, context, callback) { process.exit(1); };
收到的響應樣本如下所示。
{ "errorMessage":"Process exited unexpectedly before completing request (duration: 6ms, maxMemoryUsage: 49MB)" }
異常資訊
異常資訊包含如下三個欄位:
欄位 | 類型 | 說明 |
errorMessage | String | 異常資訊。 |
errorType | String | 異常類型。 |
stackTrace | List | 異常堆棧。 |
更多錯誤類型,請參見錯誤處理。