php-8 错误处理,异常处理:

简单的die()语句   

if(file_exists(" error_1.txt")) or die( "文件不存在" );


自定义错误和错误触发器
  --创建一个自定义的错误函数,可以在php发生错误的时候调用该函数 该函数至少处理两个参数(error level error message),但是最多 接受五个参数,还有file, line-number以及error contex
修改这个函数set_error-handler( "my_error",错误级别 )

<?php
header(' content-type:text/html; charset="utf-8" ');
function my_error($e,$mes){
//处理E_WARNING的错误
echo '行号是'.$e.'<br/>';
echo '错误信息是'.$mes;
}
//也可以定义处理NOTICE的错误
function my_err1($e,$mes){
}
//E_USER_ERROR E_USER_NOTICE 常用的只有这三种
set_error_handler("my_error",E_WARNING);
$fp = fopen( " error_2.txt","r" );
echo 'ok';

?>


错误触发器:
  --需求:有一段代码,如果接受一个年龄,如果年龄大于120岁,则认为就是错误。传统写法面对很多判断的时候很难读。可以使用自定义错误触发器
--5个错误级别
  

<?php
header(' content-type:text/html; charset="utf-8" ');
function my_error($en,$ms){
echo "错误号是".$en."<br/>";
echo "错误信息是:".$ms;
}
function my_error2($en,$ms){
echo "错误号是".$en."<br/>";
echo "出大事了:".$ms;
exit();
}
set_error_handler("my_error",E_USER_WARNING);
set_error_handler("my_error2",E_USER_ERROR );
$age = 700;
if($age>120){
trigger_error("年龄过大",E_USER_ERROR);
//这个函数有两个参数
}
echo 'ok';
?>


错误日志
  默认的系统错误是在php.ini中的error_log配置,可以使用error_log()函数,想指定的文件或远程目的地发送错误记录
-- 基本用法:error_log( $err_info,"\r\n","myerr.txt");     //回车换行

什么是异常?异常处理用于在指定的错误情况下
 try{....}catch(e){ ...}
 //两种处理办法:1 自己处理 2 将其抛出

使用注意事项:异常处理可以有效的控制错误,在项目中使用很多
当捕获到一个异常后,try里面的后续代码不在执行;
如果抛出错误你没有捕获,会报错
catch错误如果处理不了,可以抛出到外面
使用多个catch可以捕获不同种类的错误

try{  //代码}
catch(){ // 错误种类1}
catch(){ // 错误种类2}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值