laravel 异常捕获_Laravel异常捕获的处理

景恩
2023-12-01

异常是运行中超出了你程序预期的一个东西。

目录

什么是异常

异常是运行中超出了你程序预期的一个东西。

如何使用异常

在 Laravel 中已经定义了很多异常,例如 ModelNotFoundException AuthorizationException MassAssignmentException HttpResponseException 等等,基本每个模块都会定义一些异常。

场景

例如京东有个 轻松购 的功能,当点击的时候会将该商品自动添加到购物车并生成订单,然后进行支付,这是一个网络请求,但是在后端实际执行了一系列的事情(以下操作是简单举例子便于说明问题,和真实步骤有差异)

验证用户是否登录

验证用户状态(如果被拉入系统黑名单就不能登录)

查看订单中物品是否实时有货

锁定货物(库存减少,支付中的货物数量+1)

生成订单

问题

步骤很多,如果任何一个环节出现问题,就要做响应的处理

用户没有登录就要保存购买信息,并跳转到登录页面

用户状态有问题则直接提示禁止继续购买

如果没有货物则跳转商品页面

同时购买人太多,自己购买时无货

处理思路

这个时候该如何实现这个流程?

写到一个 controller 里面,顺序执行,哪一步出错直接 return ? 这个 controller 该有多长,代码完全不可读,这是典型面向过程了。

封装几个业务方法返回 true false 判断?比第一个好,但是就像编辑器多了折叠功能,其实还是面向

 类似资料: