php教程_php面向对象汇总课件.ppt
《php教程_php面向对象汇总课件.ppt》由会员分享,可在线阅读,更多相关《php教程_php面向对象汇总课件.ppt(49页珍藏版)》请在三一办公上搜索。
1、,PHP中的错误信息 php.ini中配置错误消息 php中错误消息处理 php代码中调整错误级别 自定义错误处理 PHP5中的SPL模块 什么是SPL spl.php中的异常处理类 spl.php中的其它异常类 PHP5异常捕获 异常实例 抛出异常 在代码中捕获异常 在代码中捕获异常(2)一个catch块处理多种异常 多个catch块处理异常 异常处理块嵌套 异常向外抛出,PHP中的错误信息,PHP5自定义异常 自定义异常 异常处理实例 验证实例 验证实例代码,PHP5自定义异常,PHP中的错误信息,hp.ini中配置错误消息 在PHP4中,没有异常 Exception这个概念,只有 错误E
2、rror。我们可以通过修改php.ini 文件来配置用户端输出的错误信息。 在php.ini 中,一个分号 ; 表示注释。 Php.ini 将能够显示的错误类型分为如下种类,PHP中的错误信息 php.ini中配置错误消息,hp教程_php面向对象汇总课件,在php.ini 中error_reporting 控制输出到用户端的消息种类。 以下几种是php.ini 中推荐的几种配置。 error_reporting = E_ALL 表示输出所有的信息。 error_reporting = E_ALL & E_NOTICE 表示输出所有的错误,除了提示。 error_reporting = E_C
3、OMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR 表示输出所有的 ERROR 信息。,在php.ini 中error_reporting 控制输出,在php.ini 中,display_errors可以设置是否将以上设置的错误信息输出到用户端。 display_errors = On 输出到用户端(调试代码时候,打开这项更方便) display_errors = OFF 消息将不会输出到用户端(最终发布给用户时记得改成off),在php.ini 中,display_errors可以设置是,hp中错误消息处理,在php中,对于错误处理非常
4、的宽松。php系统会尽量让程序运行下去,除非遇到致命错误。,hp中错误消息处理 在php中,对于错误处理非常的宽松。p,再次提示:如果不想显示错误信息给用户看到,设置php.ini中 display_errors = OFF,再次提示:如果不想显示错误信息给用户看到,设置php.ini,hp代码中调整错误级别,除了在php.ini文件中可以调整错误消息的显示级别外,在php代码中也可以自定义消息显示的级别。 PHP提供了一个方便的调整函数。 int error_reporting ( int level ) 使用这个函数可以定义当前php页面中错误消息的显示级别。 参数level使用了二进制掩
5、码组合的方式。,hp代码中调整错误级别 除了在php.ini文件中可以调整,hp教程_php面向对象汇总课件,自定义错误处理,在php中,可以自定义对错误处理的方式。 首先要自定义一个错误处理函数,然后使用 set_error_handler()函数向系统声明错误处理函数。代码中产生的错误就会使用这个错误处理函数了。 使用trigger_error()函数,可以触发一个error。 例如trigger_error(age you input must = 0, E_USER_ERROR),触发自己的错误信息。,自定义错误处理 在php中,可以自定义对错误处理的方式。,My ERROR $err
6、no $errstrn; echo Fatal error in line $errline of file $errfile; echo , PHP . PHP_VERSION . ( . PHP_OS . )n; echo Aborting.n; exit(1); break; case E_USER_WARNING: echo My WARNING $errno $errstrn; break; case E_USER_NOTICE: echo My NOTICE $errno $errstrn; break; default: echo Unknown error type: $err
7、no $errstrn; break; set_error_handler(myErrorHandler); /定义错误处理函数.$age = -100; /假设出现了负数的年龄,这明显是错误的。if ($age = 0”, E_USER_ERROR); /触发错误;?,?php,PHP5中的SPL模块,在PHP5中有一个独特的部分SPL - StandardPHPLibrary Modules (PHP标准库)。 在SPL文档中这样说明的: SPL PHP标准库是用来解决标准问题并实现一些高效数据访问的接口和类的集合。你会发现这些类用PHP代码编写在 sql.php文件中,或在对应例子、内核
8、的 .inc 文件中。基于这些内核的实现或在示例目录下的,也是一些 .php文件。,PHP5中的SPL模块 在PHP5中有一个独特的部分SPL,spl.php中的异常处理类,从PHP5.0开始,在SPL中引入了异常处理类。 Notice : 异常与错误在PHP中是两个完全不同的概念。 在PHP源码包中能找到这个文件 spl.php,在spl.php中定义了一个异常类 Exception。 在这个类中,定义了一些属性如下:,spl.php中的异常处理类 从PHP5.0开始,在SPL中,rotected $message ; 存储异常信息的变量。 private $string; 格式化过以后的异
9、常信息。 protected $code; 通过构造函数传递的 异常代码。 protected $file; 产生异常的php文件的文件名。 protected $line; 引起异常的代码在php文件中所在的行数。 private $trace; 引起异常后,包含相关信息的一个数组。,protected $message ;,构造函数如下: function _construct($message = NULL, $code = 0) if (func_num_args() / func_num_args()返回参数数量 $this-message = $message; $this-cod
10、e = $code; /错误代码默认是0; $this-file = _FILE_; / 文件名 $this-line = _LINE_; / 行号 $this-trace = debug_backtrace(); /返回一个包含多个元素 $this-string = StringFormat($this); /格式化字符串 ,构造函数如下:,其中还包含了_clone() 方法和对应这些属性的geter方法。,其中还包含了_clone() 方法和对应这些属性的gete,spl.php中的其它异常类,在SPL中还定义了其它的异常类,以对应不同的异常类型。这些异常类都是Exception类的子类。
11、 在Exception类有两个直接子类 LogicException 和 RuntimeException,分别表示逻辑异常和执行异常。,spl.php中的其它异常类 在SPL中还定义了其它的异常类,hp教程_php面向对象汇总课件,LogicException又衍生出其它的逻辑异常子类。,LogicException又衍生出其它的逻辑异常子类。,class LogicException extends Exception 程序中的逻辑错误的异常类,它是Exception类的直接子类。 class BadFunctionCallException extends LogicException
12、当不合法的函数被调用产生的异常类。 class BadMethodCallException extends BadFunctionCallException 当不合法的方法被调用产生的异常类。 class DomainException extends LogicException 表示一个值不在有效范围内的异常。 class InvalidArgumentException extends LogicException 表示传递了无效的参数产生的异常。 class LengthException extends LogicException 表示一个参数超过了许可的长度的异常。 class
13、 OutOfRangeException extends LogicException 表示请求检索超越了数组等容器最大长度的异常。,class LogicException extends E,RuntimeException衍生出其它运行异常子类,RuntimeException衍生出其它运行异常子类,class RuntimeException extends Exception 只有在执行时才能发现的异常,是Exception的直接子类。 class OutOfBoundsException extends RuntimeException 表示请求检索超越了数组等容器最大长度的异常。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- php 教程 _php 面向 对象 汇总 课件

链接地址:https://www.31ppt.com/p-1287174.html