エラー
エラー
目次
- エラー
- Node.js におけるエラー処理
- Fastify におけるエラー
- Fastify ライフサイクルフックおよびカスタムエラーハンドラーにおけるエラー
- Fastify エラーコード
- FST_ERR_NOT_FOUND
- FST_ERR_OPTIONS_NOT_OBJ
- FST_ERR_QSP_NOT_FN
- FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN
- FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN
- FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ
- FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR
- FST_ERR_CTP_ALREADY_PRESENT
- FST_ERR_CTP_INVALID_TYPE
- FST_ERR_CTP_EMPTY_TYPE
- FST_ERR_CTP_INVALID_HANDLER
- FST_ERR_CTP_INVALID_PARSE_TYPE
- FST_ERR_CTP_BODY_TOO_LARGE
- FST_ERR_CTP_INVALID_MEDIA_TYPE
- FST_ERR_CTP_INVALID_CONTENT_LENGTH
- FST_ERR_CTP_EMPTY_JSON_BODY
- FST_ERR_CTP_INSTANCE_ALREADY_STARTED
- FST_ERR_INSTANCE_ALREADY_LISTENING
- FST_ERR_DEC_ALREADY_PRESENT
- FST_ERR_DEC_DEPENDENCY_INVALID_TYPE
- FST_ERR_DEC_MISSING_DEPENDENCY
- FST_ERR_DEC_AFTER_START
- FST_ERR_DEC_REFERENCE_TYPE
- FST_ERR_HOOK_INVALID_TYPE
- FST_ERR_HOOK_INVALID_HANDLER
- FST_ERR_HOOK_INVALID_ASYNC_HANDLER
- FST_ERR_HOOK_NOT_SUPPORTED
- FST_ERR_MISSING_MIDDLEWARE
- FST_ERR_HOOK_TIMEOUT
- FST_ERR_LOG_INVALID_DESTINATION
- FST_ERR_LOG_INVALID_LOGGER
- FST_ERR_LOG_INVALID_LOGGER_INSTANCE
- FST_ERR_LOG_INVALID_LOGGER_CONFIG
- FST_ERR_LOG_LOGGER_AND_LOGGER_INSTANCE_PROVIDED
- FST_ERR_REP_INVALID_PAYLOAD_TYPE
- FST_ERR_REP_RESPONSE_BODY_CONSUMED
- FST_ERR_REP_ALREADY_SENT
- FST_ERR_REP_SENT_VALUE
- FST_ERR_SEND_INSIDE_ONERR
- FST_ERR_SEND_UNDEFINED_ERR
- FST_ERR_BAD_STATUS_CODE
- FST_ERR_BAD_TRAILER_NAME
- FST_ERR_BAD_TRAILER_VALUE
- FST_ERR_FAILED_ERROR_SERIALIZATION
- FST_ERR_MISSING_SERIALIZATION_FN
- FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN
- FST_ERR_REQ_INVALID_VALIDATION_INVOCATION
- FST_ERR_SCH_MISSING_ID
- FST_ERR_SCH_ALREADY_PRESENT
- FST_ERR_SCH_CONTENT_MISSING_SCHEMA
- FST_ERR_SCH_DUPLICATE
- FST_ERR_SCH_VALIDATION_BUILD
- FST_ERR_SCH_SERIALIZATION_BUILD
- FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX
- FST_ERR_HTTP2_INVALID_VERSION
- FST_ERR_INIT_OPTS_INVALID
- FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE
- FST_ERR_DUPLICATED_ROUTE
- FST_ERR_BAD_URL
- FST_ERR_ASYNC_CONSTRAINT
- FST_ERR_INVALID_URL
- FST_ERR_ROUTE_OPTIONS_NOT_OBJ
- FST_ERR_ROUTE_DUPLICATED_HANDLER
- FST_ERR_ROUTE_HANDLER_NOT_FN
- FST_ERR_ROUTE_MISSING_HANDLER
- FST_ERR_ROUTE_METHOD_INVALID
- FST_ERR_ROUTE_METHOD_NOT_SUPPORTED
- FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED
- FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT
- FST_ERR_ROUTE_REWRITE_NOT_STR
- FST_ERR_REOPENED_CLOSE_SERVER
- FST_ERR_REOPENED_SERVER
- FST_ERR_PLUGIN_VERSION_MISMATCH
- FST_ERR_PLUGIN_CALLBACK_NOT_FN
- FST_ERR_PLUGIN_NOT_VALID
- FST_ERR_ROOT_PLG_BOOTED
- FST_ERR_PARENT_PLUGIN_BOOTED
- FST_ERR_PLUGIN_TIMEOUT
- FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE
- FST_ERR_PLUGIN_INVALID_ASYNC_HANDLER
- FST_ERR_VALIDATION
- FST_ERR_LISTEN_OPTIONS_INVALID
- FST_ERR_ERROR_HANDLER_NOT_FN
Node.js におけるエラー処理
捕捉されないエラー
Node.js では、捕捉されないエラーは、メモリリーク、ファイル記述子のリーク、その他の重大な本番環境の問題を引き起こす可能性があります。ドメインは、これを修正するための失敗した試みでした。
すべての捕捉されないエラーを適切に処理することは不可能であるため、それらに対処する最善の方法は、クラッシュすることです。
Promise でのエラー捕捉
Promise を使用している場合は、.catch()
ハンドラーを同期的にアタッチする必要があります。
Fastify におけるエラー
Fastify はオールオアナッシングのアプローチに従い、可能な限り無駄がなく最適な状態を目指しています。開発者は、エラーが適切に処理されるようにする責任があります。
入力データにおけるエラー
ほとんどのエラーは予期しない入力データの結果であるため、JSON スキーマに対して入力データを検証することをお勧めします。
Fastify における捕捉されないエラーの捕捉
Fastify は、パフォーマンスを損なうことなく、できる限り多くの捕捉されないエラーを捕捉しようとします。これには、次のようなものが含まれます。
- 同期ルート (例:
app.get('/', () => { throw new Error('kaboom') })
) async
ルート (例:app.get('/', async () => { throw new Error('kaboom') })
)
どちらの場合も、エラーは安全に捕捉され、汎用的な 500 Internal Server Error
レスポンスのために Fastify のデフォルトエラーハンドラーにルーティングされます。
この動作をカスタマイズするには、setErrorHandler
を使用する必要があります。
Fastify ライフサイクルフックおよびカスタムエラーハンドラーにおけるエラー
フックの実行中にエラーが発生した場合は、それを
done()
に渡すだけで、Fastify は自動的にリクエストを閉じ、適切なエラーコードをユーザーに送信します。
setErrorHandler
を使用してカスタムエラーハンドラーが定義されている場合、カスタムエラーハンドラーは done()
コールバックに渡されたエラー (またはその他のサポートされている自動エラー処理メカニズム) を受け取ります。setErrorHandler
が複数回使用されて複数のハンドラーが定義されている場合、エラーは、エラー カプセル化コンテキスト内で定義された最も優先度の高いハンドラーにルーティングされます。エラーハンドラーは完全にカプセル化されているため、プラグイン内の setErrorHandler
呼び出しは、エラーハンドラーをそのプラグインのコンテキストに制限します。
ルートエラーハンドラーは、Fastify の汎用エラーハンドラーです。このエラーハンドラーは、Error
オブジェクトにヘッダーとステータスコードが存在する場合、それらを使用します。カスタムエラーハンドラーが提供されている場合、ヘッダーとステータスコードは自動的に設定されません。
カスタムエラーハンドラーで考慮すべき点
通常のルートハンドラーと同様に動作する
reply.send(data)
を使用できます。- オブジェクトはシリアライズされ、定義されている場合は
preSerialization
ライフサイクルフックがトリガーされます - 文字列、バッファー、ストリームは、適切なヘッダー付きでクライアントに送信されます (シリアライズなし)
- オブジェクトはシリアライズされ、定義されている場合は
カスタムエラーハンドラーで新しいエラーをスローできます - エラー (新しいエラーまたは再スローされた受信エラーパラメーター) - は親の
errorHandler
を呼び出します。onError
フックは、最初にスローされたエラーに対して 1 回のみトリガーされます。- エラーはライフサイクルフックから 2 回トリガーされることはありません - Fastify は内部的にエラーの呼び出しを監視して、ライフサイクルの reply フェーズ (ルートハンドラーの後) でスローされたエラーの無限ループを回避します。
setErrorHandler
を介して Fastify のカスタムエラー処理を利用する場合は、カスタムエラーハンドラーとデフォルトエラーハンドラーの間でエラーがどのように伝播されるかを認識しておく必要があります。
プラグインのエラーハンドラーがエラーを再スローし、エラーが Error のインスタンスでない場合 (次の例の /bad
ルートで確認されているように)、親コンテキストエラーハンドラーには伝播されません。代わりに、デフォルトのエラーハンドラーによって捕捉されます。
一貫したエラー処理を確実にするには、Error
のインスタンスをスローすることをお勧めします。たとえば、次の例では、/bad
ルートで throw 'foo'
を throw new Error('foo')
に置き換えることで、エラーが意図したとおりにカスタムエラー処理チェーンを介して伝播されるようにします。この方法は、Fastify でカスタムエラー処理を使用する場合の潜在的な落とし穴を回避するのに役立ちます。
例:
const Fastify = require('fastify')
// Instantiate the framework
const fastify = Fastify({
logger: true
})
// Register parent error handler
fastify.setErrorHandler((error, request, reply) => {
reply.status(500).send({ ok: false })
})
fastify.register((app, options, next) => {
// Register child error handler
fastify.setErrorHandler((error, request, reply) => {
throw error
})
fastify.get('/bad', async () => {
// Throws a non-Error type, 'bar'
throw 'foo'
})
fastify.get('/good', async () => {
// Throws an Error instance, 'bar'
throw new Error('bar')
})
next()
})
// Run the server
fastify.listen({ port: 3000 }, function (err, address) {
if (err) {
fastify.log.error(err)
process.exit(1)
}
// Server is listening at ${address}
})
Fastify エラーコード
マッピングのために errorCodes
にアクセスできます
// ESM
import { errorCodes } from 'fastify'
// CommonJs
const errorCodes = require('fastify').errorCodes
例:
const Fastify = require('fastify')
// Instantiate the framework
const fastify = Fastify({
logger: true
})
// Declare a route
fastify.get('/', function (request, reply) {
reply.code('bad status code').send({ hello: 'world' })
})
fastify.setErrorHandler(function (error, request, reply) {
if (error instanceof Fastify.errorCodes.FST_ERR_BAD_STATUS_CODE) {
// Log error
this.log.error(error)
// Send error response
reply.status(500).send({ ok: false })
} else {
// fastify will use parent error handler to handle this
reply.send(error)
}
})
// Run the server!
fastify.listen({ port: 3000 }, function (err, address) {
if (err) {
fastify.log.error(err)
process.exit(1)
}
// Server is now listening on ${address}
})
以下は、Fastify が使用するすべてのエラーコードの表です。
コード | 説明 | 解決方法 | 議論 |
---|---|---|---|
FST_ERR_NOT_FOUND | 404 Not Found | - | #1168 |
FST_ERR_OPTIONS_NOT_OBJ | Fastify のオプションが誤って指定されています。 | Fastify のオプションはオブジェクトである必要があります。 | #4554 |
FST_ERR_QSP_NOT_FN | QueryStringParser が誤って指定されています。 | QueryStringParser オプションは関数である必要があります。 | #4554 |
FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN | SchemaController.bucket が誤って指定されています。 | SchemaController.bucket オプションは関数である必要があります。 | #4554 |
FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN | SchemaErrorFormatter オプションが誤って指定されています。 | SchemaErrorFormatter オプションは非同期関数であってはいけません。 | #4554 |
FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ | ajv.customOptions の指定が誤っています。 | ajv.customOptions オプションはオブジェクトである必要があります。 | #4554 |
FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR | ajv.plugins オプションの指定が誤っています。 | ajv.plugins オプションは配列である必要があります。 | #4554 |
FST_ERR_CTP_ALREADY_PRESENT | このコンテンツタイプのパーサーはすでに登録されています。 | 別のコンテンツタイプを使用するか、すでに登録されているパーサーを削除してください。 | #1168 |
FST_ERR_CTP_INVALID_TYPE | Content-Type の指定が誤っています。 | Content-Type は文字列である必要があります。 | #1168 |
FST_ERR_CTP_EMPTY_TYPE | Content-Type が空の文字列です。 | Content-Type は空の文字列にできません。 | #1168 |
FST_ERR_CTP_INVALID_HANDLER | コンテンツタイプのハンドラーが無効です。 | 別のハンドラーを使用してください。 | #1168 |
FST_ERR_CTP_INVALID_PARSE_TYPE | 指定されたパースタイプはサポートされていません。 | 許可される値は string または buffer です。 | #1168 |
FST_ERR_CTP_BODY_TOO_LARGE | リクエストボディが指定された制限を超えています。 | Fastifyサーバーインスタンスの設定で制限を増やしてください: bodyLimit | #1168 |
FST_ERR_CTP_INVALID_MEDIA_TYPE | 受信したメディアタイプはサポートされていません (つまり、適切な Content-Type パーサーがありません)。 | 別のコンテンツタイプを使用してください。 | #1168 |
FST_ERR_CTP_INVALID_CONTENT_LENGTH | リクエストボディのサイズが Content-Length と一致しません。 | リクエストボディのサイズと Content-Length ヘッダーを確認してください。 | #1168 |
FST_ERR_CTP_EMPTY_JSON_BODY | content-type が application/json に設定されている場合、ボディは空にできません。 | リクエストボディを確認してください。 | #1253 |
FST_ERR_CTP_INSTANCE_ALREADY_STARTED | Fastify はすでに起動しています。 | - | #4554 |
FST_ERR_INSTANCE_ALREADY_LISTENING | Fastify インスタンスはすでにリッスンしています。 | - | #4554 |
FST_ERR_DEC_ALREADY_PRESENT | 同じ名前のデコレーターがすでに登録されています。 | 別のデコレーター名を使用してください。 | #1168 |
FST_ERR_DEC_DEPENDENCY_INVALID_TYPE | デコレーターの依存関係は Array 型である必要があります。 | 依存関係には配列を使用してください。 | #3090 |
FST_ERR_DEC_MISSING_DEPENDENCY | 依存関係が不足しているため、デコレーターを登録できません。 | 不足している依存関係を登録してください。 | #1168 |
FST_ERR_DEC_AFTER_START | デコレーターは起動後に追加できません。 | サーバーを起動する前にデコレーターを追加してください。 | #2128 |
FST_ERR_DEC_REFERENCE_TYPE | デコレーターは参照型であってはいけません。 | getter/setter インターフェースを持つデコレーターまたはフックを持つ空のデコレーターで定義してください。 | #5462 |
FST_ERR_HOOK_INVALID_TYPE | フック名は文字列である必要があります。 | フック名には文字列を使用してください。 | #1168 |
FST_ERR_HOOK_INVALID_HANDLER | フックのコールバックは関数である必要があります。 | フックのコールバックには関数を使用してください。 | #1168 |
FST_ERR_HOOK_INVALID_ASYNC_HANDLER | 非同期関数は引数が多すぎます。非同期フックは done 引数を使用すべきではありません。 | 非同期フックから done 引数を削除してください。 | #4367 |
FST_ERR_HOOK_NOT_SUPPORTED | このフックはサポートされていません。 | サポートされているフックを使用してください。 | #4554 |
FST_ERR_MISSING_MIDDLEWARE | ミドルウェアを処理するためのプラグインを登録する必要があります。詳細についてはMiddleware を参照してください。 | ミドルウェアを処理するためのプラグインを登録してください。 | #2014 |
FST_ERR_HOOK_TIMEOUT | フックのコールバックがタイムアウトしました。 | フックのタイムアウトを増やしてください。 | #3106 |
FST_ERR_LOG_INVALID_DESTINATION | ロガーは指定された宛先を受け入れません。 | 宛先として 'stream' または 'file' を使用してください。 | #1168 |
FST_ERR_LOG_INVALID_LOGGER | ロガーには、'info' 、'error' 、'debug' 、'fatal' 、'warn' 、'trace' 、'child' のすべてのメソッドが必要です。 | 必要なすべてのメソッドを持つロガーを使用してください。 | #4520 |
FST_ERR_LOG_INVALID_LOGGER_INSTANCE | loggerInstance は、ロガーインスタンスのみを受け入れ、構成オブジェクトは受け入れません。 | 構成オブジェクトを渡すには、代わりに 'logger' を使用してください。 | #5020 |
FST_ERR_LOG_INVALID_LOGGER_CONFIG | logger オプションは構成オブジェクトのみを受け入れ、ロガーインスタンスは受け入れません。 | インスタンスを渡すには、代わりに 'loggerInstance' を使用してください。 | #5020 |
FST_ERR_LOG_LOGGER_AND_LOGGER_INSTANCE_PROVIDED | 'logger' と 'loggerInstance' の両方を指定することはできません。 | どちらか一方のオプションのみを指定してください。 | #5020 |
FST_ERR_REP_INVALID_PAYLOAD_TYPE | Reply ペイロードは string または Buffer のいずれかになります。 | ペイロードには string または Buffer を使用してください。 | #1168 |
FST_ERR_REP_RESPONSE_BODY_CONSUMED | Response を reply ペイロードとして使用していますが、ボディが消費されています。 | Response.body を消費していないことを確認してください。 | #5286 |
FST_ERR_REP_ALREADY_SENT | レスポンスはすでに送信されました。 | - | #1336 |
FST_ERR_REP_SENT_VALUE | reply.sent の可能な値は true のみです。 | - | #1336 |
FST_ERR_SEND_INSIDE_ONERR | onError フック内で send を使用することはできません。 | - | #1348 |
FST_ERR_SEND_UNDEFINED_ERR | 未定義のエラーが発生しました。 | - | #2074 |
FST_ERR_BAD_STATUS_CODE | ステータスコードが無効です。 | 有効なステータスコードを使用してください。 | #2082 |
FST_ERR_BAD_TRAILER_NAME | 無効なヘッダー名で reply.trailer が呼び出されました。 | 有効なヘッダー名を使用してください。 | #3794 |
FST_ERR_BAD_TRAILER_VALUE | 無効な型で reply.trailer が呼び出されました。関数が期待されます。 | 関数を使用してください。 | #3794 |
FST_ERR_FAILED_ERROR_SERIALIZATION | エラーのシリアル化に失敗しました。 | - | #4601 |
FST_ERR_MISSING_SERIALIZATION_FN | シリアル化関数が見つかりません。 | シリアル化関数を追加してください。 | #3970 |
FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN | Content-Type のシリアル化関数が見つかりません。 | シリアル化関数を追加してください。 | #4264 |
FST_ERR_REQ_INVALID_VALIDATION_INVOCATION | 無効なバリデーション呼び出しです。HTTP パートのバリデーション関数もスキーマも提供されていません。 | バリデーション関数を追加してください。 | #3970 |
FST_ERR_SCH_MISSING_ID | 提供されたスキーマに $id プロパティがありません。 | $id プロパティを追加してください。 | #1168 |
FST_ERR_SCH_ALREADY_PRESENT | 同じ $id のスキーマがすでに存在します。 | 別の $id を使用してください。 | #1168 |
FST_ERR_SCH_CONTENT_MISSING_SCHEMA | 対応するコンテンツタイプのスキーマが見つかりません。 | スキーマを追加してください。 | #4264 |
FST_ERR_SCH_DUPLICATE | 同じ属性を持つスキーマがすでに存在します。 | 別の属性を使用してください。 | #1954 |
FST_ERR_SCH_VALIDATION_BUILD | ルートのバリデーションに提供された JSON スキーマが無効です。 | JSON スキーマを修正してください。 | #2023 |
FST_ERR_SCH_SERIALIZATION_BUILD | ルートレスポンスのシリアル化に提供された JSON スキーマが無効です。 | JSON スキーマを修正してください。 | #2023 |
FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX | レスポンススキーマは有効なステータスコード (2XX) の下にネストする必要があります。 | 有効なステータスコードを使用してください。 | #4554 |
FST_ERR_HTTP2_INVALID_VERSION | HTTP2 は node >= 8.8.1 からのみ利用可能です。 | より高いバージョンの node を使用してください。 | #1346 |
FST_ERR_INIT_OPTS_INVALID | 無効な初期化オプションです。 | 有効な初期化オプションを使用してください。 | #1471 |
FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE | HTTPサーバーが closeIdleConnections メソッドをサポートしていないため、forceCloseConnections を idle に設定できません。 | forceCloseConnections に別の値を使用してください。 | #3925 |
FST_ERR_DUPLICATED_ROUTE | HTTP メソッドには、その URL 用の登録済みコントローラーがすでにあります。 | 別の URL を使用するか、別の HTTP メソッドのコントローラーを登録してください。 | #2954 |
FST_ERR_BAD_URL | ルーターが無効な URL を受信しました。 | 有効な URL を使用してください。 | #2106 |
FST_ERR_ASYNC_CONSTRAINT | 非同期制約の使用中にルーターがエラーを受信しました。 | - | #4323 |
FST_ERR_INVALID_URL | URL は文字列である必要があります。 | URL には文字列を使用してください。 | #3653 |
FST_ERR_ROUTE_OPTIONS_NOT_OBJ | ルートのオプションはオブジェクトである必要があります。 | ルートオプションにはオブジェクトを使用してください。 | #4554 |
FST_ERR_ROUTE_DUPLICATED_HANDLER | ルートの重複したハンドラーは許可されていません。 | 別のハンドラーを使用してください。 | #4554 |
FST_ERR_ROUTE_HANDLER_NOT_FN | ルートのハンドラーは関数である必要があります。 | ハンドラーには関数を使用してください。 | #4554 |
FST_ERR_ROUTE_MISSING_HANDLER | ルートのハンドラー関数が見つかりません。 | ハンドラー関数を追加してください。 | #4554 |
FST_ERR_ROUTE_METHOD_INVALID | メソッドは無効な値です。 | メソッドには有効な値を使用してください。 | #4750 |
FST_ERR_ROUTE_METHOD_NOT_SUPPORTED | ルートでメソッドがサポートされていません。 | サポートされているメソッドを使用してください。 | #4554 |
FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED | ボディバリデーションスキーマルートはサポートされていません。 | ルートには別のメソッドを使用してください。 | #4554 |
FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT | bodyLimit オプションは整数である必要があります。 | bodyLimit オプションには整数を使用してください。 | #4554 |
FST_ERR_ROUTE_REWRITE_NOT_STR | rewriteUrl は string 型である必要があります。 | rewriteUrl には文字列を使用してください。 | #4554 |
FST_ERR_REOPENED_CLOSE_SERVER | Fastify はすでに閉じられており、再度開くことはできません。 | - | #2415 |
FST_ERR_REOPENED_SERVER | Fastify はすでにリッスンしています。 | - | #2415 |
FST_ERR_PLUGIN_VERSION_MISMATCH | インストールされた Fastify プラグインが、期待されるバージョンと一致しません。 | 互換性のあるバージョンのプラグインを使用してください。 | #2549 |
FST_ERR_PLUGIN_CALLBACK_NOT_FN | フックのコールバックが関数ではありません。 | コールバックには関数を使用してください。 | #3106 |
FST_ERR_PLUGIN_NOT_VALID | プラグインは関数または Promise である必要があります。 | プラグインには関数または Promise を使用してください。 | #3106 |
FST_ERR_ROOT_PLG_BOOTED | ルートプラグインはすでに起動しています。 | - | #3106 |
FST_ERR_PARENT_PLUGIN_BOOTED | 親 (avvio から直接マッピングされた) のため、プラグインをロードできません。 | - | #3106 |
FST_ERR_PLUGIN_TIMEOUT | プラグインが時間内に開始されませんでした。 | プラグインのタイムアウトを増やしてください。 | #3106 |
FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE | デコレーターがインスタンスに存在しません。 | - | #4554 |
FST_ERR_PLUGIN_INVALID_ASYNC_HANDLER | 登録されているプラグインは、非同期スタイルとコールバックスタイルを混在させています。 | - | #5141 |
FST_ERR_VALIDATION | リクエストがペイロードバリデーションに失敗しました。 | リクエストペイロードを確認してください。 | #4824 |
FST_ERR_LISTEN_OPTIONS_INVALID | 無効な listen オプションです。 | listen オプションを確認してください。 | #4886 |
FST_ERR_ERROR_HANDLER_NOT_FN | エラーハンドラーは関数である必要があります。 | setErrorHandler に関数を提供してください。 | #5317 |