import type { RequestConfig } from '../types/http'; interface ErrorOption { /** * 错误名字标识, 可自定义名字来标识错误来源比如业务错误或者系统错误. * 我们约定`MiniError`标识小程序原生错误, `BizError`标识业务错误. */ name?: string; /** * 错误消息. */ message?: string; /** * 暴露原始响应到error上, 外部可以在error上拿到原始响应进行自定义错误处理. */ response?: RawResponse; /** * 错误码,根据特定错误设定, 比如小程序错误对应小程序错误码, 业务错误对应业务错误码. */ code?: string; /** * error关联的request配置. */ request?: { /** * 实际url. */ url?: string; /** * 请求配置. */ options: RequestConfig; }; } declare class HttpError extends Error { /** * 暴露原始响应到error上,外部可以在error上拿到原始响应进行自定义错误处理. */ response?: RawResponse; /** * 错误码,根据特定错误设定, 比如小程序错误对应小程序错误码, 业务错误对应业务错误码. */ code?: string; /** * error关联的request配置. */ request?: ErrorOption['request']; /** * 抛出`HttpError`错误. * * @template RawResponse 原始响应类型. * @param messageOrOpt 错误消息或者错误选项. * @param response 原始响应. * @param code 错误码. * @param name 错误名字, 可用于标识错误类型. */ static throwError(messageOrOpt?: string | ErrorOption, response?: RawResponse, code?: string, name?: string): never; } export default HttpError; export type { ErrorOption };