Till Klampaeckel has put together this new post looking at the track_errors ini option (that will always put the latest error message in $phperrormsg) and how it can help you more efficiently handle the errors your application throws.

track_errors provides the means to catch an error message emitted from PHP. It's something I like to use during the development of various applications, or to get a handle on legacy code. Here are a few examples why!

He gives the example of a failed file_get_contents that results in a warning. He suggests that, instead of suppressing the error, you set display_errors to "off" and throw an exception when on the failure. There's trade-offs though including the fact that it's in the global scope and additional work would have to be done to handle problems inside other scopes.