[eluser]DanielH[/eluser]
I figured out the problem. I had added a new file, Exceptions.php, in system/application/libraries. This was interfering with CI's built-in error-handling logic. We should probably document that adding a file with that name in system/application/libraries will cause problems, or make CI's loading of exception classes not susceptible to interference in a folder below system/application.
In case you want to dup:
1. Create a blank web app from CI 1.7.
2. Create a simple controller that echoes hello world. Confirm that it works.
3. Create system/application/libraries/Exceptions.php. It can be totally blank.
4. Run again. Should still work.
5. Now create an error in your controller. I either removed a $ from a variable name, or tried to require_once on a file that didn't exist.
6. Re-run the controller; you should see the error I reported.
7. Rename the Exceptions.php file to some other name; you should see normal CI errors.