static Exception ThrowExceptionWithInner( bool loaderException = false ) { Exception e; try { throw new Exception( "Outer", loaderException ? ThrowLoaderException() : ThrowSimpleException( "Inner" ) ); } catch( Exception ex ) { e = ex; } return e; }