Page MenuHomePhabricator

Modularize Aphront exception handling

Authored by epriestley on Sep 3 2015, 1:12 PM.
Referenced Files
Unknown Object (File)
Tue, Mar 28, 12:54 PM
Unknown Object (File)
Tue, Mar 28, 2:34 AM
Unknown Object (File)
Thu, Mar 9, 10:37 AM
Unknown Object (File)
Tue, Feb 28, 8:30 AM
Unknown Object (File)
Tue, Feb 28, 8:30 AM
Unknown Object (File)
Tue, Feb 28, 8:30 AM
Unknown Object (File)
Tue, Feb 28, 8:30 AM
Unknown Object (File)
Feb 20 2023, 2:42 PM



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).

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Modularize Aphront exception handling.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
chad added inline comments.

prefer setTable() which adds CSS specific to tables.

This revision is now accepted and ready to land.Sep 3 2015, 3:53 PM
epriestley edited edge metadata.
  • Use setTable() for all module tables.
This revision was automatically updated to reflect the committed changes.