Project

General

Profile

Actions

Bug #31834

closed

Error handler callback causes fatal error for parse time errors

Added by Marcus Krause about 13 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2011-11-15
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
4.3
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

TYPO3's error handler callback t3lib_error_ErrorHandler::handleError() causes a fatal error for PHP parse time errors.

If an error occurs during parse time (like E_DEPRECATED due to deprecated $foo =& stdClass() code), autoloading is not available and such PHP standard class 'Exception' (extended by t3lib_exception) is not resolvable. This results in a fatal and misleading error 'Class "Exception" not found' together with a not useful backtrace. Additionally this behaviour hides the original causing error (deprecated code).

Debugging this is a pain in the ass.

TYPO3's default error types which are registered in custom error handler are covering such deprecation errors. If users have such deprecated code ($foo =& stdClass()) somewhere in their legacy code, they will face the same situation.

E_DEPRECATED has been introduced in PHP 5.3.

The more users with existing TYPO3 installations are upgrading to TYPO3 4.6+ (and such PHP 5.3+), the more likely we will get and see such misleading fatal errors. I recommend to fix this as soon as possible.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Bug #31827: Error handler registration accepts way too much PHP error typesClosed2011-11-15

Actions
Actions

Also available in: Atom PDF