看视频后记下来的笔记
异常(Exception)用于在指定的错误发生时改变脚本的正常流程。
1. 系统自带的异常处理
<?php
try{
$num = 1;
if($num == 1){
echo "success";
}else{
throw new Exception("变量num不等于1", 1234); //抛出异常对象
}
}catch(Exception $e){ //类型约束, 只能传递Exception类实例化的对象
echo "错误文件为: ";
echo $e -> getFile(); //出现错误的文件
echo ", 发生错误的行为: "
echo $e -> getLine(); //输出错误行
echo ", 错误代码为: ";
echo $e -> getCode(); //错误码1234, 默认是0
echo ", 错误信息为: ";
echo $e -> getMessage(); //错误信息"变量不等于1"
//echo $e; //__toString
}
2. 自定义异常处理
<?php
//自定义异常类时要继承系统的异常处理类
class myException extends Exception{
//可以自己定义异常处理流程, 比如拼接系统异常类的方法
public function getAllInfo(){
return "";
}
}
try{
//捕捉时注意类型约束为自己定义的异常处理类名
}catch(myException $e){
echo $e -> getAllInfo();
}
3. 捕捉多个异常
try{
//捕捉多个异常处理要抛出多个异常对象, 不能是由一个异常处理类实例化的对象
if($_GET['num'] == 1){
throw new myException("这是自定义的异常处理");
}elseif(){
throw new Exception("这是系统的异常处理");
}
//在捕捉时系统的异常处理分支要放到最后
//注意类型约束
}catch(myException $e){
echo $e -> getAllInfo();
}catch(Exception $e){
echo $e -> getMessage();
}