码迷,mamicode.com
首页 > Web开发 > 详细

PHP异常处理

时间:2017-05-07 16:43:35      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:ack   不能   异常处理   style   对象   getline   image   lin   cti   

首先要发生异常!

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

然后是处理异常!

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

流程:

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中异常处理

 

PHP异常处理

标签:ack   不能   异常处理   style   对象   getline   image   lin   cti   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!