积木首页 - 学院 - 软件测试 - 技术百科 - 问答 - 黄页 - 手册 - 站长工具 - 社区
登录 | 注册
    全站
技术百科 >> PHP 异常处理

PHP 异常处理

异常(Exception)用于在指定的错误发生时改变脚本的正常流程。
什么是异常?
PHP 5 提供了一种新的面向对象的错误处理方法。
异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。
当异常被触发时,通常会发生:
当前代码状态被保存
代码执行被切换到预定义的异常处理器函数
根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本
我们将展示不同的错误处理方法:
异常的基本使用
创建自定义的异常处理器
多个异常
重新抛出异常
设置顶层异常处理器
异常的基本使用
当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
让我们尝试抛出一个异常,同时不去捕获它:

上面的代码会获得类似这样的一个错误:
Fatal error: Uncaught exception 'Exception'
with message 'Value must be 1 or below' in C:\webfolder\test.php:6
Stack trace: #0 C:\webfolder\test.php(12):
checkNum(28) #1 {main} thrown in C:\webfolder\test.php on line 6
Try, throw 和 catch
要避免上面例子出现的错误,我们需要创建适当的代码来处理异常。
正确的处理程序应当包括:
Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
Throw - 这里规定如何触发异常。每一个 "throw" 必须对应至少一个 "catch"
Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象
让我们触发一个异常:
相关文章:
PHP 4.1.0 - php.ini 全文翻译

php_gettext.dll;extension=php_hyperwave.dll;extension=php_iconv.dll;extension=phpphp_imap.dll;extension=php_ingres.dll;extension=php_interbase.dll;extension=php...

来自:学院 - 最后更新于:2006-10-07

Apache2.2.8+PHP5.2.6 启动时提示Unable to load dynamic library

D:/Server/php/ext/php_interbase.dll PHP Warning: PHP Startup: Unable D:/Server/php/ext/php_mcrypt.dll PHP Warning: PHP Startup: UnableD:/Server/php/ext/php_pspell.dll PHP Warning: PHP Startup: Unable...

来自:群组 - 最后更新于:2009-04-06

免费空间整理(含网络硬盘)

/php.php申请:http://www.woomba.net/newaccount.php功php.php申请:http://www.domainstobuy.com/10----macbay.de/300M/php.de/freehost/User/6882/php.php功略:http://6882php.php申请:http://www.obchod nline.cz/index.php...

来自:学院 - 最后更新于:2003-07-07

关于php安全

他的PHP_INI_USER, PHP_INI_PERDIR, PHP_INI_ALL属 # grep PHP_INI_ /PHP_SRC/main/main.c 在讨论PHP安php文件本身: _2.php?filename=test_2.php" target=_blank>http://victim/test_2.php?filename=test_2.php PHP中...

来自:学院 - 最后更新于:2003-02-27

php+mysql+iis配置问题

PHP 1.http://www.php.net/downloads.php下载phpphp_mysql.dll改为extension=php_mysql.dll,把;extension=php_gd2.dll改为extension=php...

来自:社区 - 最后更新于:2010-08-25

Php部分常见问题总结

PHP代码:-------------------------------------------------------------------------------- ?php$Var="hello php";$post= "receive.php...

来自:学院 - 最后更新于:2007-10-20

Windows下配置PHP环境

index.htm index.php default.php default.html选择AddType application/x-httpd-php .php将php-5.0.4-php里,找到php.ini-recommended,重命名为php extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql....

来自:学院 - 最后更新于:2008-05-14

iis 下php多个版本共存问题

禁用PHP扩展 *远程管理php.ini PHP配置文件 php.ini是: ============================================================== http://www.php.net/manual/en/configuration.file.php php.ini is searched...

来自:社区 - 最后更新于:2010-10-24

php下FCK上传图片

php\config.php以及\ FCKeditor\editor\filemanager\browser\default\connectors\php\config.php_FileBrowserLanguage = 'php'var _QuickUploadLanguage = 'php'二:启用PHP文browser/default/connectors/php/config.php启用文...

来自:社区 - 最后更新于:2011-02-28

写给懂C语言的人的PHP语法入门(转)

人开始学PHP,会对PHP过于宽松探索。 PHP的数据类型 PHP与C的: 复制PHP内容到剪贴板 PHP代码(“C1”,”Hello PHP World! ”);好了。注意,PHP也支持。 复制PHP内容到剪贴板 PHP代码。 复制PHP内容到剪贴板 PHP代码! 复制PHP内容到剪贴板 PHP代码: 复制PHP内容到剪贴板 PHP代码: 复制PHP内容到剪贴板 PHP代码...

来自:社区 - 最后更新于:2010-03-23

本词条对我有帮助0

积木知识库中的词条内容仅供参考,如果您需要解决实际问题,建议您咨询相关领域专业人士

TOP
如果您认为本词条还需进一步完善,欢迎您也来参与编辑词条    让我们共同来完善IT领域的百科全书

PHP: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码 - 正则表达式 - 热门脚本语言: DOS命令 - vbs - CSS/HTML - python - perl - ruby - shell编程 - Powershell

JS: node.js - JS基础 - extjs - jQuery - JavaScript技巧

网址导航成语大全积木 TinyMCE 服务邮箱: Gimoohr(#)gmail.com
Copyright © 2008 Gimoo.Net  京ICP备05050695号