すべてのプロダクト
Search
ドキュメントセンター

Function Compute:エラー処理

最終更新日:Apr 02, 2026

Function Compute は、Node.js 関数によってスローされたエラーをキャッチし、構造化されたレスポンスを返します。このページでは、Node.js 関数が生成する可能性のある 2 種類のエラーカテゴリと、サービスからの HTTP ステータスコードの解釈方法について説明します。

エラーの種類

キャッチされた例外

関数が例外をスローすると、Function Compute はそれをキャッチし、3 つのフィールドを持つ JSON オブジェクトを返します。

フィールド説明
errorMessageエラーメッセージの文字列
errorTypeJavaScript エラーのクラス名
stackTraceスタックフレームの配列

ECMAScript モジュール

ECMAScript モジュールの構文には、Node.js 18 以降が必要です。サンプルコードはワンクリックデプロイメント (nodejs-fc-err-es) をサポートしています。
export const handler = async (event, context) => {
  throw new Error('oops');
};

CommonJS モジュール

exports.handler = function(event, context, callback) {
  throw new Error('oops');
};

サンプルレスポンス:

{
    "errorMessage": "oops",
    "errorType": "Error",
    "stackTrace": [
        "Error: oops",
        "    at handler (file:///code/index.mjs:2:9)",
        "    at module.exports (file:///var/fc/runtime/nodejs20/bootstrap.mjs:5655:14)",
        "    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
    ]
}

異常終了

関数の実行中に process.exit() を呼び出すと、ランタイムは構造化されたエラーをキャッチできません。代わりに、サービスは一般的なメッセージを返します。

ECMAScript モジュール

ECMAScript モジュールの構文には、Node.js 18 以降が必要です。
export const handler = async (event, context) => {
  process.exit(1);
};

CommonJS モジュール

exports.handler = function(event, context, callback) {
  process.exit(1);
};

サンプルレスポンス:

{
    "errorMessage": "Process exited unexpectedly before completing request (duration: 12ms, maxMemoryUsage: 0MB)"
}

HTTP ステータスコード

重要

2xx レスポンスは、関数が成功したことを保証するものではありませんX-Fc-Error-Type レスポンスヘッダーを確認して、2xx ステータスコードで返される関数のエラーを検出してください。

関数呼び出しが失敗すると、Function Compute は HTTP ステータスコード、レスポンスボディ、そして関数レベルのエラーの場合は X-Fc-Error-Type レスポンスヘッダーを返します。これらのシグナルを調べて、コード内でエラーを処理したり、エンドユーザーに表示したりします。

ステータスコード意味
2xxFunction Compute がリクエストを受信しました。レスポンスに X-Fc-Error-Type ヘッダーが含まれている場合、関数エラーが発生したことを示します。例えば、コード内でキャッチされなかった例外などです。
4xx (429 を除く)呼び出しを開始したクライアントが、無効なリクエストを送信しました。
429リクエストはスロットリングされました。
5xxFunction Compute で内部エラーが発生したか、関数の構成が無効であるか、リソースの問題が存在します。

呼び出しエラーと解決ステップの全リストについては、「エラー処理」をご参照ください。