搜索
首页php教程php手册用实例来理解PHP5异常处理

用实例来理解PHP5异常处理

Jun 13, 2016 am 11:09 AM
php5出现处理实例异常理解程序编写错误

一个程序的编写难免会出现各种各样的错误,那么我如何来处理这些错误,或将错误显示出来方便我们查找更改呢?这就用到了异常处理。这里我们将向大家介绍5异常处理的相关概念。

PHP5异常处理

PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被throw语句抛出并被catch语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以 便捕获可能存在的异常。

每一个 try 至少要有一个与之对应的 catch。使用多个 catch  可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配 所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。

当然,PHP5异常处理允许在 catch 代码块内再次抛出(throw)异常。 当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续  执行,而PHP 就会尝试查找第一个能与之匹配的 catch。

如果一个异常没有被捕获,而  且又没用使用 set_exception_handler() 作相应的处理的话,那么PHP将会产生一个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息。 

PHP5异常处理的异常类的属性与方法 

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

<ol class="dp-xml">
<li class="alt"><span><span><?php  </span></span></li>
<li><span>class Exception{   </span></li>
<li class="alt">
<span>protected $</span><span class="attribute">message</span><span> = </span><span class="attribute-value">'Unknown <br>exception'</span><span>;   </span>
</li>
<li><span>// 异常信息   </span></li>
<li class="alt">
<span>protected $</span><span class="attribute">code</span><span> = </span><span class="attribute-value">0</span><span>;   </span>
</li>
<li><span>// 用户自定义异常代码   </span></li>
<li class="alt"><span>protected $file;   </span></li>
<li><span>// 发生异常的文件名   </span></li>
<li class="alt"><span>protected $line;   </span></li>
<li><span>// 发生异常的代码行号   </span></li>
<li class="alt">
<span>function __construct($</span><span class="attribute">message</span><span> = <br></span><span class="attribute-value">null</span><span>, $</span><span class="attribute">code</span><span> = </span><span class="attribute-value">0</span><span>);   </span>
</li>
<li><span>final function getMessage();   </span></li>
<li class="alt"><span>// 返回异常信息   </span></li>
<li><span>final function getCode();   </span></li>
<li class="alt"><span>// 返回异常代码(代号)   </span></li>
<li><span>final function getFile();  </span></li>
<li class="alt"><span> // 返回发生异常的文件名   </span></li>
<li><span>final function getLine();   </span></li>
<li class="alt"><span>// 返回发生异常的代码行号   </span></li>
<li><span>final function getTrace();   </span></li>
<li class="alt"><span>// backtrace() 数组   </span></li>
<li><span>final function getTraceAsString();   </span></li>
<li class="alt"><span>// 已格成化成字符串的 getTrace() 信息  </span></li>
<li><span>//可重载的方法   </span></li>
<li class="alt"><span>function __toString();   </span></li>
<li><span>// 可输出的字符串   </span></li>
<li class="alt"><span>}   </span></li>
<li><span>?>   </span></li>
<li class="alt"><span> </span></li>
</ol>

以上就是对PHP5异常处理的分析,希望对又需要的朋友有所帮助。


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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

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

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。