On PHPBuilder.com today there's a new tutorial from Marc Plotz about error handling in PHP apps - what it is and how to capture them to keep them away from your users.
Error reporting is there for a reason and should be used for the purpose it was built. [...] So what is it that we can do to stop errors from first giving out sensitive server information, and second killing our script half-way down the page? Luckily for us PHP has several built-in error handlers for us to use.
He looks at a few different ways to handle errors - additional checking around the operation (like a file_exists before a fopen), working with custom error handlers and the various error levels (like E_ALL or E_ERROR).