Catch exception escaping bsls_assert test in SAFE_2
Catch exception escaping bsls_assert test in SAFE_2

When testing for SAFE_2 builds, the usage example features throwing
a 'std::exception' object, that is not caught in the test case.
This is a simple patch to explicitly insert a try/catch block unless
building in a mode where exceptions are disabled.  We explicitly
check the build mode flag and use try/catch directly, rather than
using the 'bsls_exceptionutil' wrapper, as that component directly
depends on 'bsls_assert' already, and we must not introduce a cycle.

dbremner/bde,gbleaney/Allocator-Benchmarks,saxena84/bde,apaprocki/bde,minhlongdo/bde,osubboo/bde,apaprocki/bde,dharesign/bde,abeels/bde,mversche/bde,saxena84/bde,saxena84/bde,che2/bde,osubboo/bde,dharesign/bde,bowlofstew/bde,minhlongdo/bde,RMGiroux/bde-allocator-benchmarks,bloomberg/bde-allocator-benchmarks,bowlofstew/bde,abeels/bde,RMGiroux/bde-allocator-benchmarks,bloomberg/bde,bloomberg/bde,dbremner/bde,jmptrader/bde,dharesign/bde,mversche/bde,gbleaney/Allocator-Benchmarks,abeels/bde,dharesign/bde,saxena84/bde,bowlofstew/bde,bloomberg/bde-allocator-benchmarks,gbleaney/Allocator-Benchmarks,che2/bde,che2/bde,frutiger/bde,dbremner/bde,mversche/bde,jmptrader/bde,jmptrader/bde,bloomberg/bde-allocator-benchmarks,abeels/bde,bloomberg/bde,bowlofstew/bde,frutiger/bde,idispatch/bde,RMGiroux/bde-allocator-benchmarks,apaprocki/bde,osubboo/bde,minhlongdo/bde,frutiger/bde,apaprocki/bde,bloomberg/bde,frutiger/bde,dbremner/bde,osubboo/bde,bloomberg/bde,mversche/bde,minhlongdo/bde,idispatch/bde,abeels/bde,gbleaney/Allocator-Benchmarks,bloomberg/bde-allocator-benchmarks,abeels/bde,jmptrader/bde,idispatch/bde,idispatch/bde,RMGiroux/bde-allocator-benchmarks,RMGiroux/bde-allocator-benchmarks,bloomberg/bde-allocator-benchmarks,che2/bde,apaprocki/bde