用途:在 Laravel 应用中统一组织自定义异常,集中处理业务规则违规与错误条件,并让异常自动映射为 HTTP 错误响应。
主要能力:异常类使用静态工厂方法作为具名构造器,例如 notFound、cannotCancelOrder、insufficientStock、paymentFailed;通过 Httpable 这一 Concern 实现 Symfony 的 HttpExceptionInterface;构造函数第二个参数传入 HTTP 状态码,从而返回对应错误响应。
使用方式:异常类放在 app/Exceptions 目录,命名形如 {Entity}Exception,并在 Concerns 子目录放置可复用的 Httpable。抛出时直接调用静态工厂,例如 throw OrderException::notFound($orderId); 也可配合 throw_unless / throw_if 或 guard 方法在 Action 中做前置校验。
常见状态码:400 业务规则违反、402 需要支付、403 授权失败、404 未找到、422 校验失败、500 服务器内部错误。错误消息应包含上下文,如订单 UUID、产品名。
适用场景:Laravel 后端中需要明确区分业务错误并返回标准 HTTP 状态的接口与 Action 流程。
限制:资料未提供版本要求、依赖包、安装命令或测试方式,具体实现细节需参考其 Httpable 完整实现。