PHP基础之错误和异常处理

1.使用die

	/* if(!file_exists('aaa.txt')){
		echo "访问的文件不存在";
		exit();
	}
	
	$fo=fopen('aaa.txt','r');
	
	echo "ok"; */
	
	file_exists('aaa.txt') or die('文件不存在');
	
	$fo=fopen('aaa.txt','r');

2.错误处理器

function myError($errno,$errmgs){
		echo "错误号是:".$errno.'--'.$errmgs;
	}
	//E_WARNING
	set_error_handler("myError",E_ALL);
	$fo=fopen('bbb.txt','r');

3.错误触发器

function myError($errno,$errmgs){
		echo "错误号是:".$errno.'--'.$errmgs;
	}
	//E_USER_WARNING/E_USER_ERROR/E_USER_NOTICE
	set_error_handler("myError",E_USER_NOTICE);
	
	$age=700;
	
	if($age>120){
		
		//trigger_error("输入的年龄过大");
		trigger_error("输入的年龄过大",E_USER_NOTICE);
		exit();
		
	}

4.错误日志

//设置时区
	date_default_timezone_set("PRC");
	function myError($errno,$errmgs){
		echo "错误号是:".$errno.'--'.$errmgs;
		$info="时间:".date('Y-m-d G-i-s')."错误号是:".$errno.'--'.$errmgs."\r\n";
		error_log($info,3,'aaa.txt');
	}
	//E_WARNING
	set_error_handler("myError",E_USER_WARNING);
	$age=700;
	if($age>120){
		trigger_error("输入的年龄过大",E_USER_WARNING);
		
	}

5.异常处理

function show($name){
		if($name!='yaksun'){
			throw new Exception("你丫写错了");
		}
	}
	
	try{
		show('yaksun');
	}catch(Exception $e){
		echo $e->getMessage();
	}
//定义自己的顶级异常处理器
	function my_exception($e){
		echo $e->getMessage();
	}
	set_exception_handler("my_exception");
	
	function show($name){
		if($name!='xxx'){
			throw new Exception("你丫写错了");
		}
	}
	
	try{
		show('yaksun');
	}catch(Exception $e){
		throw($e);
	}
	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值