PHP set_error_handler() 函数

实例

通过 set_error_handler() 函数设置用户自定义的错误处理程序,然后触发错误(通过 trigger_error()):

<?php
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>Custom error:</b> [$errno] $errstr<br>";
     echo " Error on line $errline in $errfile<br>";
 }
 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");
 $test=2;
 // 触发错误
 if ($test>1) {
     trigger_error("A custom error has been triggered");
 }
 ?> 

以上代码的输出类似这样:

కస్టమ్ తప్పు: [1024] కస్టమ్ తప్పు ప్రాసెసర్ ప్రారంభించబడింది
 C:\webfolder\test.php లో 14 వ పంక్తిలో తప్పు

నిర్వచనం మరియు ఉపయోగం

set_error_handler() ఫంక్షన్ వినియోగదారి నిర్వచించబడిన తప్పు ప్రాసెసర్ అనుసరిస్తుంది.

ప్రక్కనా పేర్కొన్నది:ఈ ఫంక్షన్ ఉపయోగించినప్పుడు, ప్రామాణిక PHP తప్పు ప్రాసెసర్ పరిగణనలోకి లేదు, మరియు అవసరపడితే, వినియోగదారి నిర్వచించబడిన తప్పు ప్రాసెసర్ die() ద్వారా స్క్రిప్ట్ అంతం చేయబడుతుంది.

ప్రక్కనా పేర్కొన్నది:తప్పు అనేకసార్లు స్క్రిప్ట్ అమలు ముందు జరిగినప్పుడు (ఉదా. ఫైల్ అప్లోడ్ చేయడం వంటి), తప్పు ప్రాసెసర్ పెరిగిపోయినప్పుడు తప్పు ప్రాసెసర్ అనుసరించబడదు ఎందుకంటే అది అప్పటికే నమోదు చేయబడలేదు.

సంకేతం

set_error_handler(errorhandler,E_ALL|E_STRICT);
పారామీటర్స్ వివరణ
errorhandler అవసరం. వినియోగదారి తప్పు ప్రాసెసర్ పేరును నిర్ణయించడానికి నిర్ణయించబడింది.
E_ALL|E_STRICT ఎంపిక. మార్గదర్శక తప్పు నివేదిక స్థాయిని నిర్ణయించడానికి వినియోగదారి నిర్వచించబడిన తప్పు ప్రాసెసర్. అప్రమేయంగా "E_ALL".

సాంకేతిక వివరాలు

వారు పొందించబడే వారు: ముందు నిర్వచించబడిన తప్పు ప్రాసెసర్ స్ట్రింగ్.
PHP వర్షన్: 4.0.1+
PHP అప్డేట్ లాగ్:

PHP 5.5: పారామీటర్స్ errorhandler ఇప్పుడు NULL అంగీకరించబడుతుంది

PHP 5.2: తప్పు ప్రాసెసర్ FALSE తిరిగి చెప్పడానికి $php_errormsg అవసరం.