深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 369|回复: 0

php异常处理

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-12-6 15:57:52 | 369 | 0 | 显示全部楼层 |阅读模式
集中处理在代码块中发生的异常。
在代码块中发生了异常直接抛出,代码块中不处理异常,将异常集中起来一起处理。
使用的关键字
  1. try:监测代码块
  2. catch:捕获异常
  3. throw:抛出异常
  4. finally:无论有无异常都会执行,可以省略
  5. Exception:异常类
复制代码
语法结构

  1. try{
  2.         //检测代码
  3. }catch(Exception $ex){
  4.         //捕获异常
  5. }
  6. finally{
  7.         //不论是否有异常,都要执行,finally可以省略
  8. }
复制代码
例题:

  1. <?php
  2. if(isset($_POST['button'])) {
  3.         try{
  4.                 $age=$_POST['age'];
  5.                 if($age=='')
  6.                         throw new Exception('年龄不能为空',1001);        //抛出异常
  7.                 if(!is_numeric($age))
  8.                         throw new Exception('年龄必须是数字',1001);        //抛出异常
  9.                 if(!($age>=10 && $age<=30))
  10.                         throw new Exception('年龄必须在10-30之间',1002);        //抛出异常
  11.                 echo '您的年龄合适';
  12.         }catch(Exception $ex){                //捕获异常
  13.                 echo '错误信息:'.$ex->getMessage(),'<br>';
  14.                 echo '错误码:'.$ex->getCode(),'<br>';
  15.                 echo '文件地址:'.$ex->getFile(),'<br>';
  16.                 echo '错误行号:'.$ex->getLine(),'<br>';
  17.         }
  18.         finally{
  19.                 echo '关闭数据库连接';  //不管是否有异常,finally都要执行
  20.         }
  21. }
  22. ?>
  23. <form method="post" action="">
  24.         年龄: <input type="text" name="age"> <br />
  25.         <input type="submit" name="button" value="提交">
  26. </form>
复制代码
注意:抛出异常后,try块终止执行,执行权限交给catch块.

代码运行结果:
php基础教程.jpg


楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表