import type { AnyResult, Constructor, Debug, PartialEq } from '../../../mod.js'; /** ## ErrorInfo : 错误信息 */ export type ErrorInfo = { type: ErrorLevel; name: string; cause: string; strack: string; }; /** ## ErrorLevel : 错误级别 + Panic:最高级别,表示系统不可恢复的错误。 + Fatal:次高级别,表示系统将在不久的将来停止运行。 + Error:错误级别,表示发生了错误但不会导致系统停止运行。 + Warn:警告级别,表示发生了意料之外的事情,但不是错误。 + Info:信息级别,表示系统正常运行的有用信息。 + Debug:调试级别,表示用于调试的信息。 @category Error */ export type ErrorLevel = 'Debug' | 'Info' | 'Warn' | 'Error' | 'Fatal' | 'Panic'; /** ## AnyError : 表示AnyError类型的错误 @description + `type`:错误级别 - {@link ErrorLevel} + `cause`:错误原因 + `name`:错误名称 @example ```ts const err = AnyError.new('Error','test error') assert(err.type === 'Error')//Pass assert(err.cause === 'test error')//Pass assert(err.name === 'AnyError')//Pass ``` @category Error */ export declare class AnyError implements Debug, PartialEq { type: ErrorLevel; protected _name: string | symbol; protected _cause: string; protected strack: string; constructor(type?: T /** @Default - 'Error' */, cause?: string, name?: string | symbol /** @Default - AnyError */); /** ## err : 快速生成`Err`类型数据 */ static err(type?: T, cause?: string, name?: string): AnyResult; /** ### value : 返回标准格式的错误数据 */ value(): ErrorInfo; /** call stack trace */ stack_trace(): string; /** throw value with format*/ throw(): never; /** ### `cause` : 获取错误原因 */ cause(): string; /** ### `name` : 获取错误名称 */ name(): string; /** 实现{@link PartialEq}接口 : 当一个错误的`type` | `cause` | `name` 三者相同时,可以认为是同一种错误 @example ```ts const err1 = AnyError.new('Error','test error') const err2 = AnyError.new('Error','test error') assert(err1.eq(err2))//Pass ``` */ eq(other: this): boolean; /** ### `instance_of` : `instanceof`语句的函数调用 */ instance_of(value: Constructor): boolean; /** ## new : 实现{@link NewAble}接口 */ static new(type?: T, cause?: string, name?: string): AnyError; /** ## default : 实现{@link Default}接口 + 在AnyErorr中相当于使用`new()`方法进行调用 */ static default(): AnyError<'Error'>; /** ### log : 实现{@link Debug}接口 */ log(): void; } //# sourceMappingURL=anyError.d.ts.map