Personally I wrap them up in exceptions, then they fall through to my uncaught exception handler.
This then does some processing e.g.
- In production: show custom error page, log error, email error (if not too many have happened already today)
- In development: show error on page, log error
In both cases all details such as the contents of $GET, $POST and several other things are included in the error report, except in HTTPS, where the contents of $_POST are omitted to avoid logging credit card details etc.
Mark