php捕获Fatal error错误与异常处理

在php5的版本中,如果出现致命错误是无法被 try {} catch 捕获的,如下所示:

<?phperror_reporting(E_ALL);
ini_set('display_errors', 'on');try {hello();
} catch (\Exception $e) {echo $e->getMessage();
}

运行脚本,最终php报出一个Fatal error,并程序中止

Fatal error: Uncaught Error: Call to undefined function hello()

有些时候,我们需要捕获这种错误,并做相应的处理。

那就需要用到 register_shutdown_function() 和 error_get_last() 来捕获错误

<?phperror_reporting(E_ALL);
ini_set('display_errors', 'on');//注册一个会在php中止时执行的函数
register_shutdown_function(function () {//获取最后发生的错误$error = error_get_last();if (!empty($error)) {echo $error['message'], '<br>';echo $error['file'], ' ', $error['line'];}
});hello();

对于php7中的错误捕获,因为php7中定义了 Throwable 接口,大部分的 Error 和 Exception 实现了该接口。

所以我们在php7中,可以通过 try {} catch(\Throwable $e) 来捕获php5中无法捕获到的错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GO语言的变量与常量

1.变量 go是一个静态语言 变量必须先定义后使用变量必须要有类型 定义变量的方式&#xff1a; var 名称 类型 var 名称 值 名称 :值 例如&#xff1a; var num int 这样就存了一个num类型为int的变量 var num 1 上面使用简化的定义通过num自动判断后面的类型为int并…

什么台灯最好学生晚上用的?五大高口碑学生护眼台灯推荐

对于学生来说&#xff0c;晚上学习早已是家常便饭&#xff0c;其中如果光线不合适&#xff0c;很容易就会造成近视的情况。面对这样的商机&#xff0c;很多厂家纷纷涉足护眼台灯行业&#xff0c;无论技术成熟与否&#xff0c;都大打护眼卖点&#xff0c;其中难免含有大量水分。…

SpringMVC的执行流程

过去的开发中,视图阶段&#xff08;老旧JSP等&#xff09; 1.首先用户发送请求到前端控制器DispatcherServlet(这是一个调度中心) 2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping 3.处理器映射器HandlerMapping找到具体的处理器,可查找xml配置或注…

milvus insert api的数据结构源码分析

insert api的数据结构 一个完整的insert例子: import numpy as np from pymilvus import (connections,FieldSchema, CollectionSchema, DataType,Collection, )num_entities, dim 10, 3print("start connecting to Milvus") connections.connect("default&q…

网络原理 - HTTP/HTTPS(2)

HTTP请求 认识URL URL基本格式 平时我们俗称的"网址"其实就是说的URL(Uniform Resource Locator统一资源定位符). (还有一个唯一资源标识符,称为uri,严格来说,uri范围比url广). 互联网上的每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该…

HTB-Analytics

靶机的IP地址为10.10.11.233&#xff0c;攻击机的IP地址为10.10.16.30 信息收集 # nmap -sT --min-rate 10000 -p- 10.10.11.233 -oN port.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-19 14:50 CST Warning: 10.10.11.233 giving up on port because retransm…

十字星K线(Doji)含义,fpmarkets澳福一分钟讲解

许多新手交易者遇到过这种奇怪的烛台&#xff0c;看起来就像一个十字架&#xff0c;没有主体上下有长长的影子&#xff0c;fpmarkets澳福肯定的告诉各位投资者&#xff0c;这种就是十字星K线(用Doji表示)&#xff0c;开盘价与收盘价一致&#xff0c;价格运动已经停止时出现在烛…

突发!某地区网络故障,格行随身WiFi成“救星”?现场直击!

近日&#xff0c;某地区突发网络故障&#xff0c;导致大量用户无法上网。然而&#xff0c;在这场网络危机中&#xff0c;一款名为“格行随身WiFi”的设备却意外走红&#xff0c;成为了当地的“网络救星”。究竟发生了什么&#xff1f;让我们一起来现场直击&#xff01; 据了解&…

Leetcode刷题笔记题解(C++):120. 三角形最小路径和

思路&#xff1a;动态规划&#xff0c;去生成一个对应的当前节点的最小路径值&#xff0c;对应的关系如下所示 dp[0][0] triangle[0][0] dp[i][0] triangle[i][0]dp[i-1][0] dp[i][i] triangle[i][i]dp[i-1][i] dp[i][j] triangle[i][j]min(dp[i-1][j-1],dp[i-1][j]) …

语义相关性评估指标:召回率、准确率、Roc曲线、AUC;Spearman相关系数、NDCG、mAP。代码及计算示例。

常规的语义相关性评价可以从检索、排序两个方面进行。这里只贴代码。详细可见知乎https://zhuanlan.zhihu.com/p/682853171 检索 精确率 def pre(true_labels[],pre_labels[]):""":param true_labels: 正样本索引:param pre_labels: 召回样本索引:return: 精…

首都博物京韵展,监测系统实现文物科技保护

​ 一、首都博物馆讲述京韵古都故事 2024年2月18日&#xff0c;首都博物馆重新亮相的“华夏文明的有力见证——北京通史展”震撼登场。展览面积4900平方米&#xff0c;汇聚1100多件&#xff08;套&#xff09;历史文物&#xff0c;不仅包含了传统历史瑰宝&#xff0c;还增加了…

npm 安装依赖总是超时的解决办法

首先&#xff0c;尝试切换依赖镜像地址 比如切换到淘宝镜像 npm config set registry https://registry.npm.taobao.org // 或者 yarn config set registry https://registry.npm.taobao.org建议使用镜像管理工具 nrm (node registry manager) 其次是否是网络问题 如果无…

Obsidian Win+Android Onedrive/Git 同步

OneDrive Android 手机安装OneDrive&#xff1a; https://www.androidout-cn.com/item/android-apps/147211/com-microsoft-skydrive/ 我是现在手机上创建的仓库&#xff0c;命名为BaseA 此仓库安装Remotely Save插件&#xff0c;远程服务选择为OneDrive&#xff0c;然后授…

【Java万花筒】事件溯源:探索完整状态历史记录的奇妙之旅

构建可追溯、可恢复的应用程序&#xff1a;走进事件溯源的世界 前言 在软件开发过程中&#xff0c;我们常常需要跟踪应用程序的状态变化、审计追踪和快速回滚功能。传统的数据库存储方式无法满足这些需求&#xff0c;因此事件溯源成为了一种强大的设计模式。通过将应用程序的…

【算法】基础算法002之滑动窗口(二)

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 5.水果成篮&#xff…

【Java EE初阶十八】网络原理(三)

3. 网络层 网络层要做的事情主要是两方面&#xff1a; 1)、地址管理&#xff1a;制定一系列的规则,通过地址,描述出网络上一个设备的位置&#xff1b; 2)、路由选择&#xff1a;网络环境是比较复杂的&#xff0c;从一个节点到另一个节点之间&#xff0c;存在很…

达梦数据库——数据迁移sqlserver-dm报错问题_未完待续

记录SQL server到达梦数据迁移过程中遇到的问题&#xff0c;持续更新中... 报错情况一&#xff1a;Sql server迁移达梦连接报错’驱动程序无法通过使用安全套接字Q层(SSL)加密与SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted b…

每日一题 (不用加减乘除做加法,找到数组中消失的数字)

不用加减乘除做加法_牛客题霸_牛客网 (nowcoder.com) 可以使用位运算符实现两个整数的加法&#xff1a; 在二进制加法中&#xff0c;我们通常使用“逐位相加”的方法来模拟常规加法的过程。当两个数字进行加法运算时&#xff0c;从最低位&#xff08;通常是右侧&#xff09;开…

软考学习--计算机组成原理与体系结构

计算机组成原理与体系结构 数据的表示 进制转换 R 进制转换为 10 进制–按权展开法 10进制转换为2进制 原码 反码 补码 移码 原码 &#xff1a;数字的二进制表示反码 &#xff1a; 正数的反码等于原码&#xff0c;负数的反码等于原码取反补码&#xff1a; 正数的补码等…

【算法】C语言使用qsort对字符串字符进行排序(解决字符串长度不统一的问题)

核心思想是 当a的长度>b时&#xff0c;a一定比b大当a,b长度相等时&#xff0c;通过strcmp比较哪个字典序大&#xff0c;也就是实际的数哪个大当a的长度&#xff1c;b是&#xff0c;b一定比a大 这时候就不得不感慨C的string是多么好用的&#xff0c;哎 #include<stdio.h…