PHP异常与错误的区别

PHP错误:是属于php程序自身的问题,一般是由非法的语法,环境问题导致的,使得编译器无法通过检查,甚至无法运行的情况。平时遇到的warming、notice都是错误,只是级别不同而已。

PHP异常:一般是业务逻辑上出现的不合预期、与正常流程不同的状况,不是语法错误。

// 以除数为0为例,看看PHP是如何处理的
<?php
$a = 0;
try {
    echo 4/$a;
}
catch (Exception $e){
    echo $e->getMessage();
}
//报错,PHP是无法自动捕获异常的,必须手动抛出


$a = 0;
try {
    if($a == 0){
        throw new Exception('除数不能为0', 1);
    }
    echo 4/$a;//不会执行
}
catch (Exception $e){
    echo $e->getMessage();
}

PHP中对于异常的机制使用,一般用于业务逻辑判断上面,当业务逻辑不正常时,进行特殊处理。

下面看一下PHP错误处理机制。PHP提供了set_error_handler()函数进行错误处理。当错误发生时,set_error_handler会统一处理错误。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值