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);
	}
	

猜你喜欢

转载自blog.csdn.net/weixin_42819066/article/details/85710211