第6章 AOP与全局异常处理

目录:
第6章 AOP与全局异常处理
6-1 正确理解异常处理流程 13:23
6-2 固有的处理异常的思维模式与流程 14:23
6-3 理清思路,总结异常的分类_ 06:33
6-4 实现自定义全局异常处理 上 17:04
6-5 实现自定义全局异常处理 下 16:04
6-6 ThinkPHP5中的日志系统 14:34
6-7 在全局异常处理中加入日志记录 09:13
6-8 全局异常处理的应用 上 25:23
6-9 全局异常处理的应用 中 12:04
6-10 全局异常处理的应用 下 04:16
6-11 本章小结与AOP思想 12:56

6-1 正确理解异常处理流程 13:23

phpstorm 里 curl+alt+o 快速移除无用的use引入命名空间
 
静态调用model层处理业务流程,上面要引入命名空间,
model里文件名字和控制器的名字同名时,引入时上面要as一个别名



6-1-1 全局异常处理要做两件事情:
 
  1. 记录日志
  2. 做出统一的异常处理

6-2 固有的处理异常的思维模式与流程 14:23

6-2-1 思路:

控制器里调用model层验证异常,model层如果抛出异常,catch就会捕捉到并抛出异常

 

model里抛出异常
 

运行结果

重要:
api处理的决对不能返回一个错误html的页面,要返回错的json信息
 

6-3 理清思路,总结异常的分类_ 06:33

 

 

6-4 实现自定义全局异常处理 上 17:04

调用model层

model里抛出异常

尝试所有的异常都抛出~~~~~~

ExceptionHandler.php里render()方法的$ex就会捕捉到并抛出异常

配置里设置为自定义异常处理方法

运行结果

=====================================================================================

定义基础异常

定义BannerMissException异常,extends BaseException

error_code错误码

 1     999 未知错误
2 1 开头为通用错误
3 2 商品类错误
4 3 主题类错误
5 4 Banner类错误
6 5 类目类错误
7 6 用户类错误
8 8 订单类错误
9
10 10000 通用参数错误
11 10001 资源未找到
12 10002 未授权(令牌不合法)
13 10003 尝试非法操作(自己的令牌操作其他人数据)
14 10004 授权失败(第三方应用账号登陆失败)
15 10005 授权失败(服务器缓存异常)
16
17
18 20000 请求商品不存在
19
20 30000 请求主题不存在
21
22 40000 Banner不存在
23
24 50000 类目不存在
25
26 60000 用户不存在
27 60001 用户地址不存在
28
29 80000 订单不存在
30 80001 订单中的商品不存在,可能已被删除
31 80002 订单还未支付,却尝试发货
32 80003 订单已支付过

第6章 AOP与全局异常处理6.1-6.4 慕课网微信小程序开发学习笔记的更多相关文章

  1. 第6章 AOP与全局异常处理6.5-6.11 慕课网微信小程序开发学习笔记

    https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 固有的处理异常的思维模式与流 ...

  2. 第1-5章 慕课网微信小程序开发学习笔记

    第1章 前言:不同的时代,不同的Web --微信小程序商城构建全栈应用 http://note.youdao.com/noteshare?id=a0e9b058853dbccf886c1a890594 ...

  3. 第7章 数据库访问与ORM 慕课网微信小程序开发学习笔记

    第7章 数据库访问与ORM https://coding.imooc.com/learn/list/97.html 目录: 7-1 数据库操作三种方式之原生SQL 19:09 7-2 从一个错误了解E ...

  4. 【微信小程序开发】全局配置

    今天看看小程序全局配置. 上一篇[微信小程序开发]秒懂,架构及框架 配置,无非就是为了增加框架的灵活性,而定下的规则. 微信小程序的配置文件是一个树状结构,各个节点代表不同的配置项,小程序框架会解析这 ...

  5. 微信小程序开发系列(二)小程序的全局文件

    其实你已经知道了小程序的文件结构 上一节讲到,小程序的页面由三部分组成: 视图(.wxml).逻辑(.js).样式(.wxss). 我们这次重新展开文件结构: 小程序用到的文件类型只有四种,正如你所看 ...

  6. 微信小程序开发——全局配置详细介绍

    本文针对官方文档未说明清楚的进行详细探索研究,官方文档详见:全局配置 . pages: 删除页面,需要先删除app.json中pages对应页面的路径,再去删除页面相关的所有文件,不然会出现页面文件混 ...

  7. 微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理

    前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一 ...

  8. 微信小程序 如何定义全局函数?

    微信小程序 定义全局数据.函数复用.模版等 微信小程序定义全局数据.函数复用.模版等问题总结: 1.如何定义全局数据 在app.js的App({})中定义的数据或函数都是全局的,在页面中可以通过var ...

  9. 微信小程序学习笔记(二)--框架-全局及页面配置

    描述和功能 框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑. 响应的数 ...

随机推荐

  1. js 巧妙去除数组中的重复项

    1.代码如下: var toObject = function(a) { var o = {}; for (var i=0, j=a.length; i<j; i=i+1) { // 这里我调整 ...

  2. Linux系统学习之系统启动的5个过程

    Linux 系统启动过程 Linux系统的启动过程可以分为5个阶段: 1. 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动.操作系统接管硬件以后 ...

  3. 【Leetcode】【Medium】Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  4. QT网络编程UDP下C/S架构广播通信

    QT有封装好的UDP协议的类,QUdpSocket,里面有我们想要的函数接口.感兴趣的话,可以看看. 先搞服务端吧,写一个子类,继承QDialog类,起名为UdpServer类.头文件要引用我们上边说 ...

  5. Vim中增加ga键的vmap功能

    ga是Vim自带的显示光标字符编码的功能,但是反过来,没有从编码显示对应字符的功能. 因为编码是多位数,所以可视模式下写了此功能. 规则: 纯数字认为是10进制 其他情况都认为是16进制 纯数字的话, ...

  6. Jsonp实现Ajax跨域Demo

    JSONP 1.一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准: 2.不过我们又发现,Web页面上调用j ...

  7. 索引反向使用案例,加index_desc hint

    drop index idx_t;create index idx_t on t(owner desc,object_type asc); select /*+index(a,idx_t)*/ * f ...

  8. Hibernate初探之一对多映射 及 myeclipse自动生成hibernate文件方法

    实现单向一对多: 1)在one方的实体中添加保存many方的集合 2)在one方的配置文件中添加<one-to-many>配置 实现单向多对一: 1)在many方的实体中添加one方的引用 ...

  9. ZT 针对接口编程而不是针对实现编程

    java中继承用extends 实现接口用 implements 针对接口编程而不是针对实现编程 2009-01-08 10:23 zhangrun_gz | 分类:其他编程语言 老听说这句,不知道到 ...

  10. JavaScript的DOM_其他的扩展

    一.呈现模式 从 IE6 开始开始区分标准模式和混杂模式(怪异模式),主要是看文档的声明. IE 为document 对象添加了一个名为 compatMode 属性,这个属性可以识别 IE 浏览器的文 ...