我有以下代码段:
<?php
ini_set('display_errors', '1');
error_reporting(E_ALL | E_NOTICE);
print $bla;
print 7;
?>
打印出bla
未定义的警告,但之后继续。我希望php在遇到未定义的变量时抛出错误并停止代码执行。怎么做?
以上只是一个例子。我想在一千多块的clode文件中处理每个未定义的变量。
答案 0 :(得分:5)
您可以编写自己的错误处理程序。当你遇到这种类型的通知时,让它停止执行。看看
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;
答案 1 :(得分:2)
使用set_error_handler
实现错误处理程序并在其中放置die
。
答案 2 :(得分:-1)
if(!isset($bla)){
throw new Exception('bla variable is not defined');
}