Allow catching PHP errors

It was strange that you called handleError directly.
Just by throwing the exception it will be handled by your handler if needed, but also allows us to catch expected errors.
In absence of this feature we'll have to set_error_handler to wrap possible errors to be caught. :(