Nope, that's just a limitation of
set_error_handler(); it doesn't handle all errors.
The following error types cannot be handled with a user defined function:
E_COMPILE_WARNING, and most of
E_STRICTraised in the file where
error_get_last() is a decent workaround.