import { Exception } from '../types'; /** * HttpException 是lin中所有其他异常的基类 * * ```js * // 实例化一个默认的HttpException * const ex = new HttpException(); * * // 实例化一个带参的HttpException * // 如果只传 code 会通过 CodeMessage.getMessage(code) 方法获取 message * const ex = new HttpException({ code: 10010 }); * * // 也可以是其他参数 * const ex = new HttpException({ message: CodeMessage.getMessage(10010) }); * * // 也可以指定所有参数 * const ex = new HttpException({ code: 10010, message: CodeMessage.getMessage(10010) }); * * // 也可以只穿一个 code 作为参数 * // 如果只传 code 会通过 CodeMessage.getMessage(code) 方法获取 message * const ex = new HttpException(10010) * ``` */ export declare class HttpException extends Error { /** * http 状态码 */ status: number; /** * 返回的信息内容 */ message: string; /** * 特定的错误码 */ code: number; fields: string[]; /** * 构造函数 * @param ex 可选参数,通过{}的形式传入 / 也可以直接传 code */ constructor(ex?: Exception | number); protected exceptionHandler(ex?: Exception | number): void; } /** * 成功 */ export declare class Success extends HttpException { status: number; message: string; code: number; constructor(ex?: number | Exception); } /** * 失败 */ export declare class Failed extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception | number); } /** * 认证失败 */ export declare class AuthFailed extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 资源不存在 */ export declare class NotFound extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 参数错误 */ export declare class ParametersException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 令牌失效或损坏 */ export declare class InvalidTokenException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 令牌过期 */ export declare class ExpiredTokenException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 服务器未知错误 */ export declare class UnknownException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 字段重复 */ export declare class RepeatException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 禁止操作 */ export declare class Forbidden extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 请求方法不允许 */ export declare class MethodNotAllowed extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * refresh token 获取失败 */ export declare class RefreshException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 文件体积过大 */ export declare class FileTooLargeException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 文件数量过多 */ export declare class FileTooManyException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 文件扩展名不符合规范 */ export declare class FileExtensionException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); } /** * 请求过于频繁,请稍后重试 */ export declare class LimitException extends HttpException { status: number; message: string; code: number; constructor(ex?: Exception); }