PHP 异常处理 throw new exception
2023-09-14 08:57:36 时间
当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
Try, throw 和 catch(通常跑出错误,一般会跟try catch配合使用)
---------------------
正确的处理程序应当包括:
Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
Throw - 这里规定如何触发异常。每一个 "throw" 必须对应至少一个 "catch"
Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象
让我们触发一个异常:
<?php //创建可抛出一个异常的函数 function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代码块中触发异常 try { checkNum(2); //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below'; } //捕获异常 catch(Exception $e) { echo 'Message: ' .$e->getMessage(); }
例子解释:
上面的代码抛出了一个异常,并捕获了它:
创建 checkNum() 函数。它检测数字是否大于 1。如果是,则抛出一个异常。
在 "try" 代码块中调用 checkNum() 函数。
checkNum() 函数中的异常被抛出
"catch" 代码块接收到该异常,并创建一个包含异常信息的对象 ($e)。
通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息
不过,为了遵循“每个 throw 必须对应一个 catch”的原则,可以设置一个顶层的异常处理器来处理漏掉的错误。
---------------------
原文:https://blog.csdn.net/qq_43035350/article/details/84560621
相关文章
- PHP时区设置相差8小时间程序与php.ini配置方法
- 【说站】PHP微信小程序/抽奖小程序开源源码
- php案例:$_SERVER详解(图文并茂)
- PHP的异常处理范例
- Redis实战:PHP开发者必备技能(redis实战php)
- MySQL数据库操作:用PHP实现(php操作mysql数据库)
- 一步到位:Linux下快速搭建PHP环境(linux一键php环境搭建)
- 实现PHP与MongoDB的桥梁:连接数据库(php连接mongodb)
- 高效的敏感词过滤方法(PHP)详解编程语言
- Ubuntu下PHP动态编译出现Cannot find autoconf的解决方法详解编程语言
- 编程开发之路:PHP 与 MySQL 结缘(php与mysql程序设计)
- PHP经典实例视频教程
- PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- Redis PHP客户端:高效处理数据缓存(redisphp客户端)
- PHP添加MySQL扩展:快速实现数据库连接(php添加mysql扩展)
- PHP与MSSQL的距离:无法实现的接触(php里面没有mssql)
- PHP连接MSSQL数据库:探索新的接口(php连接mssql接口)
- 从头到尾:使用PHP进行MSSQL手工注入(php手工注入mssql)
- 让PHP连接MSSQL数据库的正确方式(php如何连mssql)
- 使用PHP封装MSSQL管理数据库(php封装mssql)
- PHP与MSSQL的良好结合,发挥强大的功能(php和mssql)
- PHP与MSSQL联合 处理日期数据(php mssql 日期)
- PHP应用Redis缓存带来的变化(redis缓存在php)
- PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
- 谈谈PHP语法(2)
- 怎样在PHP中通过ADO调用Asscess数据库和COM程序
- PHP数组教程定义数组
- 微盾PHP脚本加密专家php解密算法
- php异常处理技术,顶级异常处理器
- 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
- PHP分页类集锦