@ bensandee/ 常见
共享错误类别 @bensandee 软件包.
安装
pnpm add @bensandee/common
API 密码
扩展所有课程 Error 没有额外的方法或属性 name。 。 。 .
| 类 | 说明 |
|---|---|
TransientError | 外部瞬态( 网络失败、 API 速率限制等) |
FatalError | 严重误认或违规 |
UnexpectedError | 应达不到的条件 |
使用量
import { TransientError, FatalError, UnexpectedError } from "@bensandee/common";
// Throw typed errors instead of plain Error
throw new TransientError("API rate limit exceeded");
throw new FatalError("Missing required DATABASE_URL");
throw new UnexpectedError("Unhandled case in switch");
// Catch and discriminate
try {
await fetchData();
} catch (error) {
if (error instanceof TransientError) {
// retry
}
}
这些错误类别满足 bensandee/no-plain-error 规则,禁止 throw new Error(...) 倾向于输入错误.