5.7. 优雅地处理异常

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

优雅地处理异常

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

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

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

优雅地处理异常

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

优雅地处理异常

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

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

异常

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

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

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

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

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

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11

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