Go 语言错误及异常处理篇(三):panic 和 recover

前面学院君介绍了 Go 语言通过 error 接口统一进行错误处理,但这些错误都是我们在编写代码时就已经预见并返回的,对于某些运行时错误,比如数组越界、除数为0、空指针引用,这些 Go 语言是怎么处理的呢? panic Go 语言没有像 PHP 那样引入异常的概念,也没有提供 try...catch 这样的语法对运行时异常进行捕获和处理,当代码运行时出错,而又没有在编码时显式返回错误时,...

Go 语言错误及异常处理篇(二):defer 语句及使用示例

Go 语言中的类没有构造函数和析构函数的概念,处理错误和异常时也没有提供 try...catch...finally 之类的语法,那当我们想要在某个资源使用完毕后将其释放(网络连接、文件句柄等),或者在代码运行过程中抛出错误时执行一段兜底逻辑,要怎么做呢? 通过 defer 关键字声明兜底执行或者释放资源的语句可以轻松解决这个问题。比如我们看 Go 内置的 io/ioutil 包中提供的...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(七)—— 错误及异常处理

错误响应 在 Dingo API 中,你可以使用响应构建器支持的多种错误方法生成错误响应: // 通用的错误响应,包含错误消息和状态码 return $this->response->error('404 Not Found', 404); // 返回 404 Not Found 响应,等同于上述返回 404 状态码的错误响应 return $this->response->error...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(一)—— 安装配置篇

注:本系列文档适用于 Laravel/Lumen 5.5+ 版本。 Dingo API 提供了一整套工具以便帮助开发者快速构建遵循 REST 规范的 API 接口。这些工具包括: 内容协商 多种认证适配器 API 版本 访问频率限制 响应数据格式转化 错误及异常处理 内部请求 生成 API 文档 1、安装 安装该扩展包之前需要保证已经安装以下程序: Laravel/Lumen 5...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:单元测试篇

简介 介绍完 PHPUnit 的基本使用和 Laravel 框架自带的编排文件 phpunit.xml 文件,今天开始我们正式准备在 Laravel 项目中基于 PHPUnit 编写单元测试和功能测试,通过上篇教程介绍的编排文件我们知道,Laravel 的单元测试用例位于 tests/Unit 目录下,框架本身也为我们提供了一个示例测试文件 ExampleTest.php: ...

[ Laravel 5.7 文档 ] 进阶系列 —— 队列

简介 注:Laravel 现在提供了基于 Redis 的,拥有美观的后台和配置系统的 Horizon 队列扩展包,完整信息参考 Horizon文档。 Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应...

[ Laravel 5.7 文档 ] 基础组件 —— 错误处理

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。在本文档中我们将深入探讨这个类。 注:关于 Laravel 异常处理底层原理和实现可以参考学院的这篇教程了解更多 —— 《深入探讨 PHP 错误异常处理机制及 Laravel 框架底层的相应实现》 配置 配置文件 config/app.ph...

[ Laravel 5.7 文档 ] 基础组件 —— 表单验证

简介 Laravel 提供了多种方法来验证请求输入数据。默认情况下,Laravel 的控制器基类使用 ValidatesRequests trait,该 trait 提供了便捷方法通过各种功能强大的验证规则来验证输入的 HTTP 请求。 快速入门 要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的示例。 定义路由 首先,我们假定在 routes/w...

[ Laravel 5.6 文档 ] 基础组件 —— 异常处理

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。在本文档中我们将深入探讨这个类。 注:关于 Laravel 异常处理底层原理和实现可以参考学院的这篇教程了解更多 —— 《深入探讨 PHP 错误异常处理机制及 Laravel 框架底层的相应实现》 配置 配置文件 config/app....

[ Laravel 5.6 文档 ] 基础组件 —— 表单验证

简介 Laravel 提供了多种方法来验证请求输入数据。默认情况下,Laravel 的控制器基类使用 ValidatesRequests trait,该 trait 提供了便捷方法通过各种功能强大的验证规则来验证输入的 HTTP 请求。 快速入门 要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的示例。 定义路由 首先,我们假定在 rou...