首页 php教程 php手册 php中的错误异常处理

php中的错误异常处理

Jun 06, 2016 pm 07:56 PM
linux php 处理 异常 社区 进入 错误

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 在PHP5中添加了类似于其它语言的错误异常处理模块.在 PHP代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获.需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常.每一个

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

    在PHP5中添加了类似于其它语言的错误异常处理模块.在 PHP代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获.需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常.每一个 try 至少要有一个与之对应的 catch.使用多个 catch 可以捕获不同的类所产生的异常.当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行.当然,PHP 允许在 catch 代码块内再次抛出(throw)异常.当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续执行,而 PHP 就会尝试查找第一个能与之匹配的 catch.如果一个异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么 PHP 将会产生一个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息.

   

    /**

    * Exception.php

    * PHP5内置的异常类的属性与方法

    * 以下这段代码只为说明内置异常处理类的结构,它并不是一段有实际意义的可用代码.

    */

    class Exception{

    protected $message = 'Unknown exception'; // 异常信息

    protected $code = 0; // 用户自定义异常代码

    protected $file; // 发生异常的文件名

    protected $line; // 发生异常的代码行号

    function __construct($message = null, $code = 0);

    final function getMessage(); // 返回异常信息

    final function getCode(); // 返回异常代码(代号)

    final function getFile(); // 返回发生异常的文件名

    final function getLine(); // 返回发生异常的代码行号

    final function getTrace(); // backtrace() 数组

    final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

    //可重载的方法

    function __toString(); // 可输出的字符串

    }

    ?>

   

    /**

    * syntax .php

    */

    //语法结构以及分析

    //PHP有两种抛出异常的格式,如下

    //【1】try...catch...

    try {

    //实行可能有异常的操作,比如数据库错作,文件错作

    }catch (Exception $e){

    //打印错误信息

    }

    //【2】throw

    $message=‘我必须被运行在try{}块中****现异常的话我($message)将被返回(传递)给catch()里的异常对象的实例比如上面的$e';

    $code=123; //错误代码号,可在catch块中用$e->getCode();返回我的值 123,这样我就可以自定义错误代码号

    throw new Exception($message,$code);

    //学JAVA的注意,PHP异常处理没有throws

    ?>

   

    /**

    * Example.php

    */

    //两个实例掌握PHP异常处理

    //例【1】用 try...catch

    /* PDO连接mysql数据库,如果没看过PDO,先看下PDO的构造函数,要不跳过例1看例2 */

    $dsn = 'mysql:host=localhost;dbname=testdb';

    $user = 'dbuser';

    $password = 'dbpass';

    try {

    $dbh = new PDO($dsn, $user, $password); //创建数据库连接对象容易出现异常

    echo ’如果上面出现异常就不能显示我了‘;

    } catch (PDOException $e) {

    echo 'Connection failed: ' . $e->__toString();

    }

    ?>

   

    //例[2] try..cathc 和 throw一起用

    try {

    $error = ’我抛出异常信息,并且跳出try块‘;

    if(is_dir('./tests')){

    echo 'do sth.';

    }else{

    throw new Exception($error,12345);

    }

    echo ’上面有异常的话就轮不到我了!~
',“\n”;

    } catch (Exception $e) {

    echo ‘捕获异常: ', $e->getMessage(),$e->getCode(), “\n
”; //显示$error和123456

    }

    echo ’继续执行‘;

    ?>

php中的错误异常处理

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

deepseek网页版入口 deepseek官网入口 deepseek网页版入口 deepseek官网入口 Feb 19, 2025 pm 04:54 PM

DeepSeek 是一款强大的智能搜索与分析工具,提供网页版和官网两种访问方式。网页版便捷高效,免安装即可使用;官网则提供全面产品信息、下载资源和支持服务。无论个人还是企业用户,都可以通过 DeepSeek 轻松获取和分析海量数据,提升工作效率、辅助决策和促进创新。

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

deepseek怎么安装 deepseek怎么安装 Feb 19, 2025 pm 05:48 PM

DeepSeek的安装方法有多种,包括:从源码编译(适用于经验丰富的开发者)使用预编译包(适用于Windows用户)使用Docker容器(最便捷,无需担心兼容性)无论选择哪种方法,请仔细阅读官方文档并充分准备,避免不必要的麻烦。

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

php程序在字符串中计数元音 php程序在字符串中计数元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

欧易okx安装包直接进 欧易okx安装包直接进 Feb 21, 2025 pm 08:00 PM

欧易 OKX,全球领先的数字资产交易所,现推出官方安装包,提供安全便捷的交易体验。欧易 OKX 安装包无需通过浏览器访问,可直接在设备上安装独立应用程序,为用户打造稳定高效的交易平台。安装过程简便易懂,用户只需下载最新版本安装包,按照提示一步步操作即可完成安装。

BITGet官方网站安装(2025新手指南) BITGet官方网站安装(2025新手指南) Feb 21, 2025 pm 08:42 PM

BITGet 是一款加密货币交易所,提供各种交易服务,包括现货交易、合约交易和衍生品。该交易所成立于 2018 年,总部位于新加坡,致力于为用户提供安全可靠的交易平台。BITGet 提供多种交易对,包括 BTC/USDT、ETH/USDT 和 XRP/USDT。此外,该交易所还在安全性和流动性方面享有盛誉,并提供多种功能,如高级订单类型、杠杆交易和 24/7 全天候客户支持。

See all articles