類別:MCPAuthError
所有 mcp-auth 錯誤的基礎類別。
它提供一種標準化方式來處理與 MCP 驗證 (Authentication) 和授權 (Authorization) 相關的錯誤。
繼承自
Error
被以下類別擴充
建構子
建構子
new MCPAuthError(code: string, message: string): MCPAuthError;
參數
code
string
錯誤代碼,採用 snake_case 格式。
message
string
錯誤的人類可讀描述。
回傳
MCPAuthError
覆寫
Error.constructor
屬性
cause?
optional cause: unknown;
繼承自
Error.cause
code
readonly code: string;
錯誤代碼,採用 snake_case 格式。
message
message: string;
繼承自
Error.message
name
name: string = 'MCPAuthError';
覆寫
Error.name
stack?
optional stack: string;
繼承自
Error.stack
stackTraceLimit
static stackTraceLimit: number;
Error.stackTraceLimit
屬性指定堆疊追蹤(無論是由 new Error().stack
或 Error.captureStackTrace(obj)
產生)所收集的堆疊框架數量。
預設值為 10
,但可以設為任何有效的 JavaScript 數字。更改後會影響之後捕獲的所有堆疊追蹤。
如果設為非數字值或負數,則堆疊追蹤將不會捕獲任何框架。
繼承自
Error.stackTraceLimit
方法
toJson()
toJson(showCause: boolean): Record<string, unknown>;
將錯誤轉換為適合 HTTP 回應的 JSON 格式。
參數
showCause
boolean
= false
是否在 JSON 回應中包含錯誤原因(cause)。
預設為 false
。
回傳
Record
<string
, unknown
>
captureStackTrace()
static captureStackTrace(targetObject: object, constructorOpt?: Function): void;
在 targetObject
上建立 .stack
屬性,當存取時會回傳一個字串,表示呼叫 Error.captureStackTrace()
時的程式碼位置。
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // 類似於 `new Error().stack`
追蹤的第一行會以 ${myObject.name}: ${myObject.message}
為前綴。
可選的 constructorOpt
參數接受一個函式。如果提供,則所有在 constructorOpt
之上的堆疊框架(包含 constructorOpt
)都會從產生的堆疊追蹤中省略。
constructorOpt
參數有助於隱藏錯誤產生的實作細節。例如:
function a() {
b();
}
function b() {
c();
}
function c() {
// 建立一個沒有堆疊追蹤的錯誤,以避免重複計算堆疊追蹤。
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// 捕獲 function b 之上的堆疊追蹤
Error.captureStackTrace(error, b); // 堆疊追蹤中不包含 function c 與 b
throw error;
}
a();
參數
targetObject
object
constructorOpt?
Function
回傳
void
繼承自
Error.captureStackTrace
prepareStackTrace()
static prepareStackTrace(err: Error, stackTraces: CallSite[]): any;
參數
err
Error
stackTraces
CallSite
[]
回傳
any
參考
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
繼承自
Error.prepareStackTrace