RestError class
从 HTTP 请求到服务终结点导致的错误。
- 扩展
-
Error
属性
| code | 错误代码(如果有)。 可以是静态错误代码属性之一(REQUEST_SEND_ERROR/PARSE_ERROR),也可以是基础系统调用(E_NOENT)中的字符串代码。 |
| details | 任何其他详细信息。 对于反序列化错误,可以处理响应。 |
| PARSE_ERROR | 用于标识分析传入 HTTP 响应时可能出现的错误的常量字符串。 通常表示格式不正确的 HTTP 正文,例如不完整的编码 JSON 有效负载。 |
| request | 传出请求。 |
| REQUEST_SEND_ERROR | 一个常量字符串,用于标识发出 HTTP 请求时可能出现的错误,该请求指示传输层出现问题(例如无法通过 DNS 解析 URL 的主机名)。 |
| response | 传入响应。 |
| status |
如果返回了响应的 HTTP 状态代码。 |
继承属性
| message | |
| name | |
| stack | |
| stack |
该 默认值为 如果设置为非数字值或设置为负数,则堆栈跟踪将不会捕获任何帧。 |
继承的方法
| capture |
在 上创建一个
跟踪的第一行将以 为 optional 该
|
| prepare |
请参阅 https://v8.dev/docs/stack-trace-api#customizing-stack-traces |
构造函数详细信息
RestError(string, string, number, WebResourceLike, HttpOperationResponse)
new RestError(message: string, code?: string, statusCode?: number, request?: WebResourceLike, response?: HttpOperationResponse)
参数
- message
-
string
- code
-
string
- statusCode
-
number
- request
- WebResourceLike
- response
- HttpOperationResponse
属性详细信息
code
错误代码(如果有)。 可以是静态错误代码属性之一(REQUEST_SEND_ERROR/PARSE_ERROR),也可以是基础系统调用(E_NOENT)中的字符串代码。
code?: string
属性值
string
details
任何其他详细信息。 对于反序列化错误,可以处理响应。
details?: unknown
属性值
unknown
PARSE_ERROR
用于标识分析传入 HTTP 响应时可能出现的错误的常量字符串。 通常表示格式不正确的 HTTP 正文,例如不完整的编码 JSON 有效负载。
static PARSE_ERROR: string
属性值
string
request
REQUEST_SEND_ERROR
一个常量字符串,用于标识发出 HTTP 请求时可能出现的错误,该请求指示传输层出现问题(例如无法通过 DNS 解析 URL 的主机名)。
static REQUEST_SEND_ERROR: string
属性值
string
response
statusCode
如果返回了响应的 HTTP 状态代码。
statusCode?: number
属性值
number
继承属性详细信息
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 but can be set to any valid JavaScript number. 更改将影响在更改值 后 捕获的任何堆栈跟踪。
如果设置为非数字值或设置为负数,则堆栈跟踪将不会捕获任何帧。
static stackTraceLimit: number
属性值
number
继承自 Error.stackTraceLimit
继承的方法详细信息
captureStackTrace(object, Function)
在 上创建一个 .stack 属性,该属性在访问时返回一个字符串,该字符串 targetObject表示调用的代码 Error.captureStackTrace() 中的位置。
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`
跟踪的第一行将以 为 ${myObject.name}: ${myObject.message}前缀。
optional 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
继承自 Error.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