HomePhabricator

Modularize Aphront exception handling

Description

Modularize Aphront exception handling

Summary:
Ref T1806. Ref T7173. Depends on D14047.

Currently, all exception handling is in this big messy clump in AphrontDefaultApplicationConfiguration.

Split it out into modular classes. This will let a future change add new classes in the Phacility cluster which intercept particular exceptions we care about and replaces the default, generic responses with more useful, tailored responses.

Test Plan:

Screen Shot 2015-09-03 at 6.06.52 AM.png (868×1 px, 201 KB)

  • Hit a Conduit error (made a method throw).
  • Hit an Ajax error (made comment preview throw).
  • Hit a high security error (tried to edit TOTP).
  • Hit a rate limiting error (added a bunch of email addresses).
  • Hit a policy error (tried to look at something with no permission).
  • Hit an arbitrary exception (made a randomc ontroller throw).

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T1806, T7173

Differential Revision: https://secure.phabricator.com/D14049