PHP异常处理

本文介绍了一个PHP程序中如何使用异常处理机制来管理运行时错误。通过一个商品价格检查的例子展示了异常的抛出与捕获过程,并解释了监听、抛出及捕获异常的基本流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先要发生异常!

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

然后是处理异常!

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

流程:

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(小于零),结果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值