ProcessError class
在解析或執行程序時產生錯誤。
擷取的輸出是不可枚舉的,因此一般的日誌記錄與序列化不會意外暴露它。
- Extends
-
Error
建構函式
| Process |
造成流程錯誤。 |
繼承的屬性
| message | |
| name | |
| stack | |
| stack |
該 預設值為 若設定為非數字值或負數值,堆疊追蹤將無法捕捉任何影格。 |
繼承的方法
| capture |
在 上
軌跡的第一行將以 作為前綴 可選 這個
|
| prepare |
請參閱 https://v8.dev/docs/stack-trace-api#customizing-stack-traces |
建構函式詳細資料
ProcessError(string, ProcessErrorOptions)
造成流程錯誤。
new ProcessError(message: string, options?: ProcessErrorOptions)
參數
- message
-
string
一個不包含指令參數或輸出的訊息。
- options
- ProcessErrorOptions
結構化流程失效細節。
屬性詳細資料
code
作業系統錯誤代碼或程序退出代碼。
code: null | string | number
屬性值
null | string | number
killed
是否該過程被終止。
killed: boolean
屬性值
boolean
signal
那個終止過程的信號。
signal: null | Signals
屬性值
null | Signals
stderr
捕捉標準誤(如有)。
stderr: undefined | string | Buffer
屬性值
undefined | string | Buffer
stdout
擷取標準輸出(如有)。
stdout: undefined | string | Buffer
屬性值
undefined | string | Buffer
繼承的屬性詳細資料
message
message: string
屬性值
string
繼承自 Error.message
name
name: string
屬性值
string
繼承自 Error.name
stack
stack?: string
屬性值
string
繼承自 Error.stack
stackTraceLimit
該 Error.stackTraceLimit 性質指定堆疊追蹤所收集的堆疊幀數(無論是由 new Error().stack 或 Error.captureStackTrace(obj)產生)。
預設值為 10 但可設定為任何有效的 JavaScript 編號。 變更會影響 值變更後 擷取的任何堆疊追蹤。
若設定為非數字值或負數值,堆疊追蹤將無法捕捉任何影格。
static stackTraceLimit: number
屬性值
number
繼承自 Error.stackTraceLimit(錯誤.stack追蹤限制)
繼承的方法的詳細資料
captureStackTrace(object, Function)
在 上.stack建立targetObject一個屬性,存取時會回傳一個字串,代表被呼叫的程式碼Error.captureStackTrace()中位置。
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`
軌跡的第一行將以 作為前綴 ${myObject.name}: ${myObject.message}。
可選 constructorOpt 參數接受函式。 若給定,上述所有幀 constructorOpt(包括 constructorOpt)將從生成的堆疊軌跡中省略。
這個 constructorOpt 論點有助於隱藏錯誤產生的實作細節,不讓使用者知道。 例如:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();
static function captureStackTrace(targetObject: object, constructorOpt?: Function)
參數
- targetObject
-
object
- constructorOpt
-
Function
繼承自 錯誤.captureStackTrace
prepareStackTrace(Error, CallSite[])
請參閱 https://v8.dev/docs/stack-trace-api#customizing-stack-traces
static function prepareStackTrace(err: Error, stackTraces: CallSite[]): any
參數
- err
-
Error
- stackTraces
-
CallSite[]
傳回
any
繼承自 Error.prepareStackTrace