如何避免TCPDF错误抑制系统?

时间:2014-11-06 18:21:11

标签: php error-handling tcpdf

TCPDF使用很多PHP @运算符来抑制错误。 由于我的应用程序使用自定义错误处理程序,它仍然会得到这些"抑制"错误。

如何让它忽略@ -suppressed错误?

我想知道错误是否来自使用回溯的TCPDF,但错误可能来自不使用@运算符的行。 这样的一行看起来像(l.6882),例如:

if (($imsize = @getimagesize($file)) === FALSE) {

我已经向Nicola Asuni(TCPDF创建者)询问了这个特定的错误,他说:"代码工作正常,错误已被故意抑制"。

我使用PHP函数set_error_handler来处理错误。

以下内容:error_reporting(E_ALL);在PHP 5.4上

1 个答案:

答案 0 :(得分:2)

检查错误处理程序中的error_reporting()(您应该阅读 PHP Documentation ,它会解释您的具体案例)

参见示例(改编自PHP DOCS):

function myErrorHandler($errno, $errstr, $errfile, $errline ) {
    if (!(error_reporting() & $errno)) {
        // This error code is not included in error_reporting or was called with @
        return;
    }

    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler('myErrorHandler');

@strpos();