错误
常见错误.
安装
npm install --save @blackglory/errors
# or
yarn add @blackglory/errors
API 密码
type CustomErrorConstructor<T extends CustomError = CustomError> =
new (message?: string) => T
interface SerializableError {
name: string
message: string
stack: string | null
ancestors: string[]
}
自定义错误
class CustomError extends Error {}
CustomError 默认行为比 Error数字 :
console.error打印正确的例外名称,而不是Error。 。 。 .instanceof运营商根据姓名而不是继承关系进行匹配,这有助于SerializableError instanceof CustomError。 。 。 .
占卜错误
class AssertionError extends CustomError {}
错误
function isError(val: unknown): val is Error
function isntError<T>(val: T): val is Exclude<T, Error>
常态
function normalize(err: Error): SerializableError
水合盐
function hydrate(err: SerializableError): Error
序列错误
function isSerializableError(val: unknown): val is SerializableError
主张
/**
* @throws {AssertionError}
*/
function assert(condition: unknown, message?: string): asserts condition
获取错误名称
function getErrorNames(err: Error | SerializableError): Iterable<string>
穿透态态原型
function traverseErrorPrototypeChain(err: Error): Iterable<Error>