面向对象第六天----捕获异常

PHP错误处理
1、语法错误
2、运行错误
3、逻辑错误
【面向对象第六天----捕获异常】异常处理
===========================================================
1. PHP的异常处理
1.1 异常处理
在正常运行中,出现了“你认为”的错误或异常;
格式:
try{

//尝试行为 抛出异常则终止在try中异常以下的代码
throw new Exception("错误信息");
...
}catch(Exception $e){
//获取错误信息

}

1.2 系统自带的异常处理类
请参照PHP手册 Exception 父类

1.3 自定义异常处理类
自定义类继承系统基类
自定义方法或属性
1.4 处理多个异常
原则:自定义子类方法在上,基类获取在下
try{
}catch(MyException $e){
}catch(Exception $e){
}

1.5 异常
PHP的异常与java异常有区别:PHP的抛出异常是程序员自定义抛出的,并非系统抛出。 其他语言的异常处理更像php的错误处理
需要异常的情况:
① 程序员的悲观
② 代码的强壮性要求
③ 业务需要

2.反射API(了解)
面向对象编程中被赋予了自省的能力,而这个能力就是反射
根据到达地找到出发地和来源。通过对象知道它所属的类、拥有哪些方法
反射指在PHP运行状态中,扩展分析PHP程序, 导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。 这种动态获取信息以及动态调用对象方法的功能称之为反射API

反射API 的使用
ReflectionObject
ReflectionClass
获取对象或类中的属性和方法

作用:
反射可以用于文档生成。

3. PHP类与对象的相关函数
class_exists(className) 判断类是否已经定义,会触发__autoload(第二个参数设置为false 不触发 autoload)
get_class_methods(className/ob) 获取对象或类中所有的共有方法
get_class_vars(className) 获取类中所有的共有属性
get_object_vars(ob) 获取对象中所有的共有属性
get_class(ob) 获取对象的类名
get_parent_class(ob/className) 获取对象或类的父类
method_exists(ob/className,funName) 判断类或对象中是否存在该方法
property_exists(ob/className,varName) 判断类或对象中是否存在该属性
s_a(ob,className) 等同于instanceof
get_declared_classes() 返回所有已定义的类(包括系统定义的类)







转载于:https://www.cnblogs.com/GBWSHUSHU/p/5506003.html

    推荐阅读