php异常处理方式,PHP异常处理办法
PHP异常处理办法
人都会出错,更何况程序,那么当PHP异常是该怎么处理?一起来看看吧!更多消息请关注应届毕业生网!
扩展 PHP 内置的异常处理类
PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内再次抛出(throw)异常。
当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续执行,而 PHP 就会尝试查找第一个能与之匹配的 catch。如果一个异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的'处理的话,那么 PHP 将会产生一个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息。
Note:
PHP 内部函数主要使用错误报告, 只有现代面向对象的扩展才使用异常。但错误可以很容易的通过ErrorException转换为异常。
Tip
PHP标准库 (SPL) 提供了许多内建的异常类。
Example #1 抛出一个异常
function inverse($x) {
if (!$x) {
throw new Exception('Division by zero.');}
else return 1/$x;
}
try {
echo inverse(5) . " ";
echo inverse(0) . " ";
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), " ";}
// Continue execution
echo 'Hello World';
?>
以上例程会输出:
0.2
Caught exception: Division by zero.
Hello World
Example #2 嵌套的异常
class MyException extends Exception { }
class Test {
public function testing() {
try {
try {
throw new MyException('foo!');
} catch (MyException $e) {
/* rethrow it */
throw $e;
}
} catch (Exception $e) {
var_dump($e->getMessage());
}
}
}
$foo = new Test;
$foo->testing();
?>
以上例程会输出:
string(4) "foo!"
php异常处理方式,PHP异常处理办法相关推荐
- php的异常处理方式,php异常处理基本方法
当一个php脚本运行时,为了防止脚本运行崩溃,亦或是当php作为webserver,为了防止php程序出错,抛出httpcode500错误,我们常常需要对php程序做异常处理. 今天介绍的是最基本的异 ...
- java中的异常处理代码,java_深入剖析Java中的各种异常处理方式,1. 调试追踪代码:public s - phpStudy...
深入剖析Java中的各种异常处理方式 1. 调试追踪代码: public static void enterTryMethod() { System.out.println("enter a ...
- IO流(IO异常处理方式)
IO流(IO异常处理方式) 参考文章: (1)IO流(IO异常处理方式) (2)https://www.cnblogs.com/yangyongqian/p/5150838.html 备忘一下.
- Asp.NetCore依赖注入和管道方式的异常处理及日志记录
前言 在业务系统,异常处理是所有开发人员必须面对的问题,在一定程度上,异常处理的能力反映出开发者对业务的驾驭水平:本章将着重介绍如何在 WebApi 程序中对异常进行捕获,然后利用 Nlog ...
- java异常处理方式推荐做法_谈谈Java异常处理这件事儿
此文已由作者谢蕾授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 我们对于"异常处理"这个词并不陌生,众多框架和库在异常处理方面都提供了便利,但是对于 ...
- Spring Boot项目优雅的全局异常处理方式(全网最新)
全局异常处理 前言 一.全局异常处理方式一 1.1 自定义全局异常类 1.2 手动抛出异常 1.3 测试打印 二.全局异常处理方式二 2.1 定义基础接口类 2.2 定义枚举类 2.3 自定义异常类 ...
- springboot异常处理方式
springboot异常处理方式 参考文章: (1)springboot异常处理方式 (2)https://www.cnblogs.com/whalesea/p/11384397.html 备忘一下.
- quartz2.3.0(六)job任务异常处理方式
quartz2.3.0(六)job任务异常处理方式 参考文章: (1)quartz2.3.0(六)job任务异常处理方式 (2)https://www.cnblogs.com/zhuwenjoyce/ ...
- python异常处理的作用_Python 中的异常处理方式
封面图片来源:沙沙野 异常处理什么是异常处理?Python 解释器检测到错误就会触发异常,或者程序员自己触发异常 程序中编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...
最新文章
- Sql Server:创建用户并指定该用户只能看指定的视图
- 为什么说特斯拉研发自动驾驶AI芯片应该引起注意?
- 浪潮各机型前面板指示灯含义
- Prepare for Android
- Linux软件安装——安装软件的命令
- 【LightOJ - 1104】Birthday Paradox(概率,思维)
- MacOS 安装 Telnet
- 【李宏毅2020 ML/DL】P11 Logistic Regression | 由逻辑回归中的特征转换巧妙引出“神经网络”的概念
- setState的参数接收函数
- 计算机二级机试题型,计算机二级机试题库
- 窗口电压比较器电路设计
- ppt菜鸟学飞第一天——基础知识及字体知识
- Python —— 压缩文件夹
- scala的linearization
- 面试被问到CAS原理,触及知识盲区,脸都绿了!
- 视频截取并提取成音频
- linux 符号所在库,linux – 即使nm表示该符号存在于共享库中时,也未引用符号
- 机电和计算机专业怎么选,计算机专业怎么选城口_竟成学校
- 《“桥板灯”的来历》——游城“明经胡氏”
- 一图搞懂formula常用符号
热门文章
- 网络数据包信息收集工具ferret-sidejack
- Xamarin XAML语言教程Progress属性设置进度条进度
- 声网sdk android接入,Android 集成声网Agora 音视频实时通话(三)
- 研究人员探索gaze fixation对基于运动想象的脑机接口性能的影响
- MNE-Python专辑 (2) MNE中数据结构Raw及其用法简介(更新)
- 机器学习(5)--化无限为有限
- 学习java的一些笔记(3)
- 南非的5DT数据手套使用说明
- java 查找一行_Java培训之工具类通用的查询一行多列,非实体
- java 让进度条动起来_自定义进度条动起来