首页 > 编程语言 >PHP错误处理&异常处理方式小结

PHP错误处理&异常处理方式小结

时间:2024-06-11 14:10:29浏览次数:20  
标签:exception 自定义 小结 handler 错误处理 PHP 异常

PHP中的错误处理和异常处理是程序开发中非常重要的两个方面,它们可以帮助开发者识别和处理程序运行时出现的问题。以下是PHP中错误处理和异常处理的一些常见方式:

错误处理

  1. 错误级别

    • PHP定义了多种错误级别,如E_ERRORE_WARNINGE_NOTICE等,通过设置错误级别,可以控制哪些错误会被报告。
  2. 设置错误报告

    • 使用error_reporting()函数可以设置当前脚本的错误报告级别。
    • php.ini配置文件中设置error_reportingdisplay_errors来控制全局的错误报告。
  3. 自定义错误处理

    • 使用set_error_handler()函数可以注册一个自定义的错误处理函数,当发生错误时,该函数会被调用。
  4. 恢复错误处理

    • 使用restore_error_handler()函数可以恢复到默认的错误处理。
  5. 忽略错误

    • 使用@操作符可以临时忽略错误,但这不是一个好的实践,因为它会隐藏错误信息。
  6. 日志记录

    • 将错误信息记录到日志文件中,可以使用error_log()函数或者自定义日志记录函数。

异常处理

  1. 异常类

    • PHP中的异常是通过Exception类来表示的,开发者可以创建自定义的异常类来处理特定的错误情况。
  2. 抛出异常

    • 使用throw关键字可以抛出一个异常。
  3. 捕获异常

    • 使用try块来包裹可能抛出异常的代码,catch块用来捕获并处理异常。
  4. 自定义异常处理

    • 可以创建自定义的异常处理类,继承自Exception类,并在catch块中实例化和使用。
  5. 异常链

    • 使用$exception->getPrevious()可以获取异常链,了解异常的来源。
  6. finally块

    • finally块中的代码总是会被执行,无论是否发生异常,用于执行清理操作。
  7. 设置异常处理

    • 使用set_exception_handler()函数可以注册一个自定义的异常处理函数。

示例代码

  <?php // 设置错误报告级别 error_reporting(E_ALL); // 自定义错误处理函数 set_error_handler('custom_error_handler'); // 可能触发错误的代码 function may_trigger_error() { $result = 1 / 0; // 这将触发一个错误 } try { may_trigger_error(); } catch (Exception $e) { echo "捕获到异常: " . $e->getMessage(); } // 自定义错误处理函数 function custom_error_handler($errno, $errstr, $errfile, $errline) { // 可以在这里记录错误或者抛出异常 throw new Exception("自定义错误处理: [$errno] $errstr at $errfile:$errline"); } // 自定义异常处理 set_exception_handler('custom_exception_handler'); function custom_exception_handler($exception) { echo "自定义异常处理: " . $exception->getMessage(); } ?>

在实际开发中,合理地使用错误处理和异常处理机制,可以帮助提高程序的健壮性和可维护性。

标签:exception,自定义,小结,handler,错误处理,PHP,异常
From: https://www.cnblogs.com/suducn/p/18241957

相关文章

  • PHP文件上传接口
    文件上传接口上传在项目/runtime/storage/下,返回的是相对路径./***文件上传接口*paramfile:/2024-06-11_09-50-43.png*return*{*"status":1,*"msg":"上传成功",*"data":{*"file_pa......
  • php 调用dll 里面的方法
    在PHP中调用DLL里的方法,你可以使用PHP的扩展 com_dotnet。但是这个扩展在PHP8.0之后已经被移除,所以你需要使用PECL来安装 com_dotnet 扩展或者使用其他方法。方法一:使用PECL安装com_dotnet扩展安装 com_dotnet 扩展bashpeclinstallcom_dotnet 在 php.ini 文......
  • PHP基础
    1、整体结构:-<?php//PHP脚本以<?php开始,以?>结束,扩展名.php?>注释://or/**/基本输出:printecho<?phpecho"helloworld";?>2、变量实例:<?php$x=5;$y=6;echo($x+$y);?>PHP没有声明变量的命令,变量在第一次赋值给它的时候被创建,同pyPHP......
  • 【转载】基于 Docker 的 PHP 集成环境 DNMP
    参考https://github.com/yeszao/dnmp?tab=readme-ov-filehttps://learnku.com/articles/19289https://www.awaimai.com/2120.html源码【下载】(由于限制20m上传,删除.git文件夹)环境软件/系统版本说明WindowsWindows10专业版22H219045.4412DockerDes......
  • PHP“well”运动健身APP-计算机毕业设计源码87702
    【摘要】随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用“well”运动健身app也在不断的使用,本文首先分析了“well”运动健身app应用程序的需求,从系统......
  • PHP-CGI Windows平台远程代码执行漏洞复现(CVE-2024-4577)
    0x01产品简介PHP-CGI 是一种用于在 Web 服务器上运行 PHP 脚本的接口,通过 CGI(公共网关接口)将 PHP 解释器与 Web 服务器连接。0x02漏洞概述2024年6月,PHP官方发布新版本,修复了 PHP-CGI 中一个远程代码执行漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可获取......
  • 二叉树小结
    目录简介二叉树的种类在实际开发中评估二叉树的性能搜索二叉树代码实现二叉树堆的实现红黑树简介简介二叉树是一种特殊的树,每个节点最多有两个子节点,通常被称为左子节点和右子节点。它是计算机科学中的一种基础且重要的树形结构,被广泛应用在各种算法和数据结构中。二......
  • php-status监控流程
    1.开启php的状态页功能#基于php-fpm进程做的实验yuminstallphp-fpm-y修改配置文件,开启php,status功能即可,打开如下参数即可要求你访问php状态页面的入口就是/status_php[root@web-7~]#grep'status_'/etc/php-fpm.d/www.confpm.status_path=/status_phpphp-fpm......
  • PHP CGI Windows下远程代码执行漏洞
    PHPCGIWindows下远程代码执行漏洞CVE编号:CVE-2024-4577危害定级:高危漏洞标签:发布预警公开漏洞披露日期:2024-06-07推送原因:标签更新:[公开漏洞]=>[发布预警公开漏洞]信息来源:https://www.oscs1024.com/hd/MPS-wk9q-5g71漏洞描述PHP是一种在服务器端执......
  • Python3 元组、列表、字典、集合小结
    前言本文主要对Python中的元组、列表、字典、集合进行小结,主要内容包括知识点回顾、异同点、使用场景。文章目录前言一、知识点回顾1、列表(List)2、元组(Tuple)3、字典(Dictionary)4.、集合(Set)二、异同点1、异构性2、可变性3、有序性4、可迭代性三、使用场景1、列表(List......