1

我有以下代码片段:

<?php
ini_set('display_errors', '1');
error_reporting(E_ALL | E_NOTICE);
print $bla;
print 7;
?>

它打印出一个bla未定义的警告,但之后继续。我希望 php 在遇到未定义的变量时抛出错误并停止代码执行。怎么做?

以上只是一个例子。我想在数千块代码块中处理每个未定义的变量。

4

3 回答 3

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;
于 2013-05-14T07:40:55.280 回答
2

实现一个错误处理程序set_error_handler并放入一个die内部。

于 2013-05-14T07:40:28.797 回答
-1
if(!isset($bla)){
   throw new Exception('bla variable is not defined');
}
于 2013-05-14T07:41:00.653 回答