Page MenuHomePhabricator

When a page throws an exception and response construction throws another exception, throw an aggregate exception

Authored by epriestley on Aug 16 2019, 10:20 PM.



Depends on D20719. Currently, if a page throws an exception (like a policy exception) and rendering that exception into a response (like a policy dialog) throws another exception (for example, while constructing breadcrumbs), we only show the orginal exception.

This is usually the more useful exception, but sometimes we actually care about the other exception.

Instead of guessing which one is more likely to be useful, throw them both as an "AggregateException" and let the high-level handler flatten it for display.

Test Plan

Diff Detail

rP Phabricator
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley created this revision.Aug 16 2019, 10:20 PM
epriestley requested review of this revision.Aug 16 2019, 10:21 PM
This revision was not accepted when it landed; it landed in state Needs Review.Aug 23 2019, 4:04 AM
This revision was automatically updated to reflect the committed changes.