Menu

5.7. 优雅地处理异常

优雅地处理异常

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

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

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

file

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

file

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

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

异常

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

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

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

本文章首发在 Laravel China 社区

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

上一篇 下一篇
讨论数量: 8

深蓝色
关于自定义异常类 InvalidRequestException?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
A张舫
为什么我感觉这本书的质量要比前几本的质量要高?
1 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
david19931217
自定义异常状态码返回问题?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
simplewater
InternalException 的作用?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
baimengran
PHP artisan make:exception 未定义?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Everan
关于在 Lumen 下使用 出现的问题 求解答
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
xstar5470
异常处理为什么会有 Ajax 的情况
1 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
taodaykiu
超快创建异常处理类中的 __construct 方法
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
刻意练习,每日精进。
0
点赞
262
浏览
8
讨论