本文介绍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:函数计算为您捕获到异常后返回的错误。
当您的代码抛出异常且未捕获时,函数计算会为您捕获错误,并返回错误信息。
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 | 异常堆栈。 |
更多错误类型,请参见错误处理。