PHP异常处理

首先要发生异常!

所谓的发生,指的是抛出一个异常!

然后是处理异常!

所谓的处理,就是一旦异常出现,要得到并处理这个异常,通常有两个阶段组成:监听和捕获!

流程:

1. 抛出异常 throw

2. 监听异常 try

3. 捕获异常 catch

注意:这里的异常,其实就是一个异常对象,这个对象必须是由系统预定义的异常类(类名为Exception)或者其子类实例化出来的!

示例:

<?php

echo "<meta charset=utf-8>";

class Goods{
    public function getPrice(){
        $price = $_GET['p'];
        //如果价格小于0,则进行异常处理
        if ($price<0) {
            //实例化一个异常对象
            $e = new Exception($message = '价格不能为负值!');
            throw $e;    //抛出异常
        }else{
            echo $price;
        }
    }
}

//异常处理
try{
    //对代码进行监听
    $good = new Goods;
    $good->getPrice();
}catch(Exception $e){
    //捕获异常
    echo "错误信息为:".$e->getmessage()."<br/>";
    echo "错误代码为:".$e->getCode()."<br/>";
    echo "错误文件为:".$e->getFile()."<br/>";
    echo "错误行号为:".$e->getLine()."<br/>";
}

结果:传进参数p=22(大于零)显示正常,未抛出异常!

 

若传进参数p=-22(小于零),结果如下

下一篇会介绍PDO中异常处理

原文地址:https://www.cnblogs.com/zxf100/p/6821129.html