返回 AiToEarn
error.util.ts
根目录 / project / aitoearn-backend / libs / common / src / utils / error.util.ts
1 /** 从 unknown error 提取 message */
2 export function getErrorMessage(error: unknown): string {
3 return error instanceof Error ? error.message : String(error)
4 }
5
6 /** 从 unknown error 提取 stack */
7 export function getErrorStack(error: unknown): string | undefined {
8 return error instanceof Error ? error.stack : undefined
9 }
10
11 /** 提取 message + stack,用于结构化日志 */
12 export function getErrorDetail(error: unknown): { message: string, stack: string | undefined } {
13 return error instanceof Error
14 ? { message: error.message, stack: error.stack }
15 : { message: String(error), stack: undefined }
16 }
17
18 /** 序列化 error 为 JSON(保留 Error 不可枚举属性) */
19 export function stringifyError(error: unknown): string {
20 return error instanceof Error
21 ? JSON.stringify(error, Object.getOwnPropertyNames(error))
22 : JSON.stringify(error)
23 }
24
24 lines TYPESCRIPT