5.7. 优雅地处理异常

优雅地处理异常

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

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

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

file

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

优雅地处理异常

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

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

异常

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

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

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

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

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

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 9

A张舫
为什么我感觉这本书的质量要比前几本的质量要高?
1 个点赞 | 10 个回复 | 问答 | 课程版本 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
Everan
关于在 Lumen 下使用 出现的问题 求解答
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
深蓝色
关于自定义异常类 InvalidRequestException?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
taodaykiu
超快创建异常处理类中的 __construct 方法
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5