admin 发表于 2022-12-6 15:57:52

php异常处理

集中处理在代码块中发生的异常。在代码块中发生了异常直接抛出,代码块中不处理异常,将异常集中起来一起处理。使用的关键字
try:监测代码块
catch:捕获异常
throw:抛出异常
finally:无论有无异常都会执行,可以省略
Exception:异常类语法结构

try{
        //检测代码
}catch(Exception $ex){
        //捕获异常
}
finally{
        //不论是否有异常,都要执行,finally可以省略
}例题:

<?php
if(isset($_POST['button'])) {
        try{
                $age=$_POST['age'];
                if($age=='')
                        throw new Exception('年龄不能为空',1001);        //抛出异常
                if(!is_numeric($age))
                        throw new Exception('年龄必须是数字',1001);        //抛出异常
                if(!($age>=10 && $age<=30))
                        throw new Exception('年龄必须在10-30之间',1002);        //抛出异常
                echo '您的年龄合适';
        }catch(Exception $ex){                //捕获异常
                echo '错误信息:'.$ex->getMessage(),'<br>';
                echo '错误码:'.$ex->getCode(),'<br>';
                echo '文件地址:'.$ex->getFile(),'<br>';
                echo '错误行号:'.$ex->getLine(),'<br>';
        }
        finally{
                echo '关闭数据库连接';//不管是否有异常,finally都要执行
        }
}
?>
<form method="post" action="">
        年龄: <input type="text" name="age"> <br />
        <input type="submit" name="button" value="提交">
</form>注意:抛出异常后,try块终止执行,执行权限交给catch块.

代码运行结果:



页: [1]
查看完整版本: php异常处理