tp5中捕获异常的配置
首选在配置文件中加入配置如下
// 异常处理handle类 留空使用 \think\exception\Handle
'exception_handle' => '\\app\\common\\exception\\Http',
'http_exception_template' => [
// 定义404错误的重定向页面地址
404 => APP_PATH.'view/error/404.html',
],
值得注意的是该配置文件必须是所有模块的而不是单个的模块的
目录结构图如下

然后在\app\common\exception\Http.php文件中加入以下代码:
<?php
namespace app\common\exception;
use Exception;
use think\exception\Handle;
use think\exception\HttpException;
use think\Response;
class Http extends Handle
{
public function render(Exception $e)
{
// 参数验证错误
if ($e instanceof ValidateException) {
return json($e->getError(), 422);
}
// 请求异常
if ($e instanceof HttpException && request()->isAjax()) {
return response($e->getMessage(), $e->getStatusCode());
}
//TODO::开发者对异常的操作
if($e->getStatusCode()=='404'){
return response($e->getMessage(), $e->getStatusCode());
}
//可以在此交由系统处理
return parent::render($e);
}
}
然后就可以在编码中捕捉异常了
try{
Db::name('user')->find();
}catch(\Exception $e){
$this->error('执行错误');
}
$this->success('执行成功!');
---------------------
作者:司徒小子
来源:CSDN
原文:https://blog.csdn.net/ruoshui1748/article/details/78032733/
版权声明:本文为博主原创文章,转载请附上博文链接!
tp5中捕获异常的配置的更多相关文章
- tp5中的一些小方法
// 当使用一个新页面替换当前页面的body后,body刷新了,所选择的select值就不能保存住,解决方法如下: 作业题目<select> <option>--请选择--&l ...
- TP5 多入口文件配置的坑
闲话不多说,TP5(5.0.20) 在配置多入口文件的时候你是否遇到过一下的问题呢? 开发设计的需求吧网站拆分为前台.后台.API 3 个模块,对应的也需要3个入口文件,后台和API入口文件是用PAT ...
- tp5中使用原生sql查询总结【转】
注意事项: 1.先在database.php中配置好数据库 2.只要是数据库操作必须引用 use/think/Db;严格区分大小写. 下面是方法: public function hello5() { ...
- WCF学习之旅—WCF4.0中的简化配置功能(十五)
六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提 ...
- asp.net中web.config配置节点大全详解
最近网上找了一些关于Web.config配置节点的文章,发现很多都写的都比较零散,而且很少有说明各个配置节点的作用和用法.搜索了一下发现有一篇写的不错,这里引用一下 原文地址 http://www.c ...
- CentOS-7.0.中安装与配置Tomcat-7的方法
安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...
- 在Web.config或App.config中的添加自定义配置
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍 ...
- IIS7错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny")......
不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny")...... 解决方案: 因为 II ...
- 深入理解php中的ini配置(1)
这篇文章不会详细叙述某个ini配置项的用途,这些在手册上已经讲解的面面俱到.我只是想从某个特定的角度去挖掘php的实现机制,会涉及到一些php内核方面的知识:-) 使用php的同学都知道php.ini ...
随机推荐
- LLDP协议、STP协议 笔记
参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...
- LA 4287 等价性证明(强连通分量缩点)
https://vjudge.net/problem/UVALive-4287 题意: 给出n个结点m条边的有向图,要求加尽量少的边,使得新图强连通. 思路:强连通分量缩点,然后统计缩点后的图的每个结 ...
- Myeclipse下配置svn
转载高鑫的..嘻嘻.. MyEclipse安装配置SVN 2013.10.15 No Comments 67 Views 配置之前请先关闭MyEclipse,OK开始了 1.解压site-1.6.18 ...
- MongoDB(课时26 聚合(取的集合个数))
3.7 聚合(重点) 信息的统计操作就是聚合(直白:分组统计就是一种聚合操作). 3.7.1 取的集合的数据量 对于集合的数据量而言,在MongoDB里面直接使用count()函数就可以完成. 范例: ...
- MongoDB(课时22 过期索引)
3.6.2 过期索引 在一些程序的站点会出现若干秒之后信息被删除的情况,例如:手机信息验证码,那么在MongoDB里面可以轻松实现过期索引.但这个时间往往不怎么准确. 范例:设置过期索引(实现过期索引 ...
- visudo使用笔记
目录前言一.介绍二.配置文件简介三.实战配置 前言: su 的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成 ...
- 【转】cs231n学习笔记-CNN-目标检测、定位、分割
原文链接:http://blog.csdn.net/myarrow/article/details/51878004 1. 基本概念 1)CNN:Convolutional Neural Networ ...
- POJ - 2528 Mayor's posters(dfs+分治)
POJ - 2528 Mayor's posters 思路:分治思想. 代码: #include<iostream> #include<cstdio> #include< ...
- 家里各台机器的php性能测试
所用脚本: <?php $before = microtime(true); $list= array( "keya" => "the value a&quo ...
- Ubuntu 16.04下docker ce的安装
卸载版本的docker sudo apt-get remove docker docker-engine docker.io 安装可选内核模块 从 Ubuntu 14.04 开始,一部分内核模块移到了 ...