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

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

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Swoole 实现协程篇(一):基本概念和底层原理

协程是什么 协程可以理解为纯用户态的线程,其通过协作而不是抢占来进行切换,相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低,Swoole 可以为每一个请求创建对应的协程,根据 IO 的状态来合理的调度协程。 在 Swoole 4.x 中,协程(Coroutine)取代了异步回调,成为 Swoole 官方推荐的编程方式。Swoole 协程解决了异步回调编程困难的问...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(十一)—— 在应用内部请求 Dingo API

Dingo 扩展包花费了很大的精力来提供从应用内部请求 Dingo API 接口的功能,这意味着,通过 Dingo 扩展包实现的 API 接口不仅可以被客户端和第三方应用消费,还可以为应用内部的 Web 路由和其他 API 路由提供数据和服务支持,这样一来,我们就可以构建一个完全基于 API 驱动的应用,支持内部请求的 API 还有一个好处就是可以返回原生数据对象而不是 HTTP 响应对...

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

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

[ Laravel从入门到精通 ] 请求与响应系列 —— 异常处理篇之异常信息报告、渲染及自定义处理

上篇教程学院君大致介绍了 Laravel 异常处理底层原理,今天我们来详细介绍下进行异常处理时如何报告和渲染异常信息。 异常信息的报告 通过上篇教程的介绍,你应该知道 Laravel 是通过系统注册的异常处理器提供的 report 方法来报告异常,那么我们就来看看系统自带的异常处理器是如何定义该方法的,如果你要自定义异常报告机制的话,也可以参考该方法的实现。该方法的源码位于 vendor...

[ Laravel从入门到精通 ] 请求与响应系列 —— 异常处理篇之底层源码剖析

前面我们介绍 Laravel 中 HTTP 请求生命周期和中间件底层处理逻辑的时候,都涉及到了 vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php 这个文件,对应的 Illuminate\Foundation\Http\Kernel 类是我们 Laravel 应用 HTTP Kernel 类 App\Htt...

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

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

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

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

Laravel API 系列教程(一): 基于 Laravel 5.5 构建 & 测试 RESTful API

随着移动开发和 JavaScript 框架的日益流行,使用 RESTful API 在数据层和客户端之间构建交互接口逐渐成为最佳选择。在本系列教程中,学院君将会带领大家基于 Laravel 5.5 来构建并测试带认证功能的 RESTful API。 RESTful API 开始之前,我们先要了解什么是 RESTful API。REST 是 REpresentational S...

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

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