Make it work more generically
Summary:
Change the strategy here: provide a more generic interface
which can be used safely with any exception types, but operates more
efficiently for explicitly named types. Update the callers to use the
new pattern, which mostly means get() and operator* are replaced with
other more generic methods. (This diff was constructed by merging
D1490304,
D1501644, and
D1500861.)
Test Plan:
run tests. Run something which generates an exception
message, and make sure that message isn't "std::exception"
Reviewed By: marccelani@fb.com
Subscribers: ruibalp, mcduff, marccelani, hitesh, mshneer, rtgw-diffs@, alandau, bmatheny, adityab, wormhole-diffs@, bwester, njormrod
FB internal diff:
D1517701