Be aware that error_get_last() returns only uncaught errors.
Caught ones will never get to the error_get_last(), i.e.:
- $error_levels registered with set_error_handler() when $callback does not return false,
- all exceptions, including errors not supported by set_error_handler() (like :E_ERROR/fatal error, E_PARSE, etc.) that are exceptions in fact,
when set_exception_handler($callback) is registered,
- exceptions caught by try/catch block.