本文介绍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 异常堆栈。

更多错误类型,请参见错误处理