このトピックでは、エラータイプや例外情報など、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 | エラースタック。 |
詳細については、「エラー処理」をご参照ください。