首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
错误处理:拼写错误
单引号和双引号的混用
括号使用混乱
等号与赋值符号混淆
缺少美元符号
调用不存在的常量和变量
调用不存在的文件
环境配置的错误
数据库服务器连接错误
php.ini中的错误处理机制
应用DIE语句调试
自定义错误和错误触发器
异常的基本处理方法
自定义的异常处理器
处理多个异常
设置顶层异常处理器
PHP 8的新变化1—改变了错误的报告方式
PHP 8的新变化2—优化异常处理
实战演练—处理异常或错误
文件数据的写入
文件数据的读取
目录操作
文件的上传概述
文件上传
实战演练—编写文本类型的访客计算器
当前位置:
首页>>
技术小册>>
PHP8入门与项目实战(5)
小册名称:PHP8入门与项目实战(5)
异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。当异常被触发时,通常会发生以下动作: ·当前代码状态被保存。 ·代码执行被切换到预定义的异常处理器函数。 ·根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本。 当异常被抛出时,其后的代码不会继续执行,PHP会尝试查找匹配的catch代码块。如果异常没有被捕获,而且又没有使用set_exception_handler()做相应的处理,就会发生一个严重的错误,并且输出Uncaught Exception(未捕获异常)的错误消息。 下面的实例抛出一个异常,同时不去捕获它。 【例9.6】 ![](/uploads/images/20231208/491ebea6240699de070e745d94041efd.png) 运行后结果如图9-9所示。由于没有捕获异常,因此出现了下面的错误提示消息。 ![](/uploads/images/20231208/37bc46d3fde191c923200d7b6434d896.png) 如果想避免出现上面的错误,需要创建适当的代码来处理异常。处理异常的程序应当包括如下几个部分。 ·try代码块:使用异常的函数应该位于try代码块内。若没有触发异常,则代码将照常继续执行。但是如果异常被触发,就会抛出一个异常。 ·throw代码块:这里规定如何触发异常。每一个throw必须对应至少一个catch。 ·catch代码块:catch代码块会捕获异常,并创建一个包含异常信息的对象。 【例9.7】 ![](/uploads/images/20231208/38dfa55237a5d779ec107378387ee1f2.png) 运行后结果如图9-10所示。由于抛出异常后捕获了异常,因此出现了下面的提示消息。 ![](/uploads/images/20231208/e21b796cf652c6a41522a0efd37d27c0.png) 【案例分析】 (1)首先创建checkNum()函数,用于检测数字是否大于1。如果是,则抛出一个异常。 (2)在try代码块中调用checkNum()函数。 (3)checkNum()函数中的异常被抛出。 (4)catch代码块接收到该异常,并创建一个包含异常信息的对象($e)。 (5)通过从这个exception对象调用$e->getMessage(),输出来自该异常的错误消息。
上一篇:
自定义错误和错误触发器
下一篇:
自定义的异常处理器
该分类下的相关小册推荐:
PHP高性能框架-Workerman
Magento零基础到架构师(内容设计)
PHP程序员面试笔试真题与解析
Swoole入门教程
全栈工程师修炼指南
Yii2框架从入门到精通(上)
Magento零基础到架构师(安装篇)
PHP程序员面试算法宝典
PHP8入门与项目实战(7)
Laravel(10.x)从入门到精通(三)
PHP合辑1-基础入门
全面掌握Magento2-从配置到优化