我有以下代码片段:
<?php
ini_set('display_errors', '1');
error_reporting(E_ALL | E_NOTICE);
print $bla;
print 7;
?>
它打印出一个bla
未定义的警告,但之后继续。我希望 php 在遇到未定义的变量时抛出错误并停止代码执行。怎么做?
以上只是一个例子。我想在数千块代码块中处理每个未定义的变量。
我有以下代码片段:
<?php
ini_set('display_errors', '1');
error_reporting(E_ALL | E_NOTICE);
print $bla;
print 7;
?>
它打印出一个bla
未定义的警告,但之后继续。我希望 php 在遇到未定义的变量时抛出错误并停止代码执行。怎么做?
以上只是一个例子。我想在数千块代码块中处理每个未定义的变量。
您可以编写自己的错误处理程序。并在遇到此类通知时停止执行。看一眼
http://php.net/manual/en/function.set-error-handler.php
一个小而简单的例子:
function new_error_handler($errno, $errstr, $errfile, $errline) {
switch ($errno) {
case E_NOTICE:
if (strstr($errstr, 'Undefined variable')) {
die('Undefined variable found');
}
break;
}
}
set_error_handler('new_error_handler');
echo $foo;
实现一个错误处理程序set_error_handler
并放入一个die
内部。
if(!isset($bla)){
throw new Exception('bla variable is not defined');
}