5.7. 优雅地处理异常

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

优雅地处理异常

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

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

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

file

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

file

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

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

异常

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

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

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

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

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

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 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