24 lines
630 B
TypeScript
24 lines
630 B
TypeScript
// 网络/HTTP 错误
|
||
export class ApiError extends Error {
|
||
constructor(message: string, public readonly statusCode?: number) {
|
||
super(message)
|
||
this.name = 'ApiError'
|
||
}
|
||
}
|
||
|
||
// 业务错误(后端 Code 为字符串,如 '200'/'500'/'401')
|
||
export class BusinessError extends Error {
|
||
constructor(message: string, public readonly code: string) {
|
||
super(message)
|
||
this.name = 'BusinessError'
|
||
}
|
||
}
|
||
|
||
// 登录态失效(HTTP 401 或业务码 401),触发踢回登录页
|
||
export class AuthExpiredError extends Error {
|
||
constructor(message: string) {
|
||
super(message)
|
||
this.name = 'AuthExpiredError'
|
||
}
|
||
}
|