Heim >php教程 >php手册 >一个PHP简单的异常处理代码

一个PHP简单的异常处理代码

WBOY
WBOYOriginal
2016-06-06 19:38:001523Durchsuche

无详细内容 无 ?php/** * 异常处理 * @return void */function debug_user_handler($errno, $errstr, $errfile, $errline, $errcontext){ob_start();debug_print_backtrace();$trace = ob_get_contents();ob_end_clean();$data = array(isset($_SERVER['REQUE

<?php

/**
 * 异常处理
 * @return void
 */
function debug_user_handler($errno, $errstr, $errfile, $errline, $errcontext)
{
	ob_start();
	debug_print_backtrace();
	$trace = ob_get_contents();
	ob_end_clean();

	$data = array(
			isset($_SERVER[&#39;REQUEST_URI&#39;]) ? $_SERVER[&#39;REQUEST_URI&#39;] : "",
			date("Y-m-d H:i:s"),
			"错误号{$errno}, 文件:{$errfile} 行号: {$errline}",
			$errstr,
			$trace);	
	trigger_error(implode("\n", $data) . &#39;(&#39; . $errno . &#39;)&#39;);
}
// 可以设置不同异常等级
set_error_handler(&#39;debug_user_handler&#39;, E_USER_NOTICE|E_USER_WARNING);

// 测试
function test_handler()
{
	$x = mt_rand(0, 100);
	echo "x=$x\n";
	if ($x > 50) {
		trigger_error("x great than 50", E_USER_NOTICE);	
	} else {
		trigger_error("x less than 50", E_USER_WARNING);	
	}
}

test_handler();
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn