2017年7月28日~~~~
PHP面向对象
异常处理
用户可以用自定义的异常处理类来扩展 PHP 内置的异常处理类。以下的代码说明了在内置的异常处理类中,哪些属性和方法在子类中是可访问和可继承的。译者注:以下这段代码只为说明内置异常处理类的结构,它并不是一段有实际意义的可用代码。
异常的定义
异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。
当异常被触发时,通常会发生:
当前代码状态被保存
代码执行被切换到预定义的异常处理器函数
根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本
我们将展示不同的错误处理方法:
异常的基本使用
创建自定义的异常处理器
多个异常
重新抛出异常
设置顶层异常处理器
当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),
并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
对于error来说,程序结束到这来就会报错并会终止
//Error(错误)
echo $p; //Notice
echo 10/0;//Warning
$p =new Person(); //Fatal
error
//对于error来说
程序结束到这来就会报错并会终止
echo "结束";
Is_nan:判断是否为合法数值
如果 val 为"非数值",例如 acos(1.01) 的结果,则返回 TRUE。
参数为要检查的值(val)
返回值(如果 val 不是一个数字(not a number)返回 TRUE,否则返异常一般是回 FALSE)
异常一般是由程序员自己定义系统无法描述的问题
通过代码来控制如果指定的问题发生了,则输出该问题的描述,以便确认问题发生的原因
当try块中的代码出现了异常后,在该异常后面的代码不再执行,而跳转到catch块中执行
浙公网安备 33010602011771号