5.7. 优雅地处理异常

本教程最新版为 7.x,当前版本已放弃维护,请阅读最新版本!

优雅地处理异常

上一节我们在实现商品详情页的时候,在处理非正常流程时使用了 throw new Exception 抛出异常来终止流程:

if (!$product->on_sale) {
    throw new \Exception('商品未上架');
}

大家可以尝试访问一个被下架的商品来触发这个异常,在开发环境会看到类似这样的界面:

file

而当线上环境的用户触发了这个异常时就会看到:

file

这样的提示对用户很不友好。

本章节将要介绍在 Laravel 项目中应该如何正确地、优雅地处理异常。

异常

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题所导致的。

异常处理是程序开发中经常遇到的任务,如何优雅地处理异常,从一定程度上反映了你的程序是否足够严谨。

在本次的项目开发中,我们将异常大致分为 用户异常系统异常...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
Summer
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 11

A张舫
为什么我感觉这本书的质量要比前几本的质量要高?
1 个点赞 | 12 个回复 | 问答 | 课程版本 5.5
xstar5470
异常处理为什么会有 Ajax 的情况
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
AMA32
PHP artisan make:exception 未定义?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
david19931217
自定义异常状态码返回问题?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
simplewater
InternalException 的作用?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
Marrigan
访问不存在的商品的时候报 404
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
Hh_hH
render () 方法报错
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
关于在 Lumen 下使用 出现的问题 求解答
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
深蓝色
关于自定义异常类 InvalidRequestException?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
taodaykiu
超快创建异常处理类中的 __construct 方法
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5