@cloudcome/utils-core
Version:
cloudcome core utils
32 lines (31 loc) • 954 B
TypeScript
/**
* 构建异常选项
*/
export type BuildExceptionOptions = {
/**
* 自定义错误消息格式函数
* @param name 错误名称
* @param message 原始错误消息
* @returns 格式化后的错误消息
* @example
* (name, message) => `${name}::${message}`
*/
format?: (name: string, message: string) => string;
};
/**
* 构建自定义异常类
* @template T 额外属性的类型
* @param name 异常类名称
* @param options 构建选项
* @returns 自定义异常类
* @example
* const MyException = buildException<{ code: number }>('MyException');
* const err = new MyException('error', { code: 404 });
*
* @example
* const SimpleException = buildException('SimpleException');
* const err = new SimpleException('error', undefined);
*/
export declare function buildException<T = void>(name: string, options?: BuildExceptionOptions): {
new (message: string, extra: T): Error & T;
};