首页 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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 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)

热门话题

Java教程
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

在PHP和Python之间进行选择:指南 在PHP和Python之间进行选择:指南 Apr 18, 2025 am 12:24 AM

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

Linux体系结构:揭示5个基本组件 Linux体系结构:揭示5个基本组件 Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

PHP和Python:深入了解他们的历史 PHP和Python:深入了解他们的历史 Apr 18, 2025 am 12:25 AM

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

PHP的影响:网络开发及以后 PHP的影响:网络开发及以后 Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

继续使用PHP:耐力的原因 继续使用PHP:耐力的原因 Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

laravel安装代码 laravel安装代码 Apr 18, 2025 pm 12:30 PM

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

Linux上的Docker:Linux系统的容器化 Linux上的Docker:Linux系统的容器化 Apr 22, 2025 am 12:03 AM

Docker在Linux上重要,因为Linux是其原生平台,提供了丰富的工具和社区支持。1.安装Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。2.创建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。3.编写Dockerfile:优化镜像大小,使用多阶段构建。4.优化和调试:使用dockerlogs和dockerex

See all articles