> On Dec. 17, 2013, 5:22 p.m., Alan Conway wrote:
> > /trunk/qpid/cpp/src/qpid/messaging/Logger.cpp, line 68
> > <https://reviews.apache.org/r/16316/diff/1/?file=398793#file398793line68>
> >
> >     That's really, really weird. I had no idea you could omit the braces in 
> > a function definition in any circumstances. Can you do it with anything 
> > other than try/catch? I tried a few things and none worked.
> >     
> >     I think the extra braces might prevent a lot of head-scratching even if 
> > they are ugly.

Yes, it only works with a try block.

As I said above it's not really necessary here (but I like it dammit, and it's 
been in the language a long time now).

It should really be better known for the following (real) use:

The real use case is catching exceptions from initialisers in a constructor viz.

Class::Class()
try :
  object_with constructor_that_might_throw(42)
{}
catch (std::exception e) {
  throw MyClassException(e.what());
}

That looks even more weird, but get used to it, because it is the only way to 
catch exceptions in constructor initialisers (and in fact you need something 
like this to catch exceptions in implicitly called constructors even with no 
explicit initialiser list)


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16316/#review30543
-----------------------------------------------------------


On Dec. 17, 2013, 5:02 p.m., Andrew Stitcher wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16316/
> -----------------------------------------------------------
> 
> (Updated Dec. 17, 2013, 5:02 p.m.)
> 
> 
> Review request for qpid, Chug Rolke and Gordon Sim.
> 
> 
> Bugs: QPID-5415
>     https://issues.apache.org/jira/browse/QPID-5415
> 
> 
> Repository: qpid
> 
> 
> Description
> -------
> 
> Currently there is one major omission from the qpid::messaging API: That is 
> control of the internal logging used by qpid itself.
> 
> This was previously present in the qpid::client API albeit not really 
> supported or documented. Now that we have completely removed the qpid::client 
> and associated APIs from being exported for use beyond qpid itself there is 
> no way to control the logging internal to the qpid messaging libraries.
> 
> This review introduces some simple APIs which give back control of the qpid's 
> internal logging. I think there is now as much control as virtually all qpid 
> user applications are likely to need.
> 
> Please give the proposed API some consideration and let me know if there is 
> anything that an application needs that I haven't considered here.
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/include/qpid/messaging/Logger.h PRE-CREATION 
>   /trunk/qpid/cpp/src/CMakeLists.txt 1551560 
>   /trunk/qpid/cpp/src/qpid/log/Logger.cpp 1551560 
>   /trunk/qpid/cpp/src/qpid/log/Options.h 1551560 
>   /trunk/qpid/cpp/src/qpid/log/Options.cpp 1551560 
>   /trunk/qpid/cpp/src/qpid/log/Selector.cpp 1551560 
>   /trunk/qpid/cpp/src/qpid/log/Statement.cpp 1551560 
>   /trunk/qpid/cpp/src/qpid/messaging/Logger.cpp PRE-CREATION 
>   /trunk/qpid/cpp/src/tests/CMakeLists.txt 1551560 
>   /trunk/qpid/cpp/src/tests/MessagingLogger.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/16316/diff/
> 
> 
> Testing
> -------
> 
> Added in unit tests which pass*
> 
> *They currently also assume a bug fix which is included in the code in this 
> review which prevents critical log messages ever being turned off (I think 
> this the correct behaviour - in the current code under some circumstances 
> they can actually be turned off)
> 
> 
> Thanks,
> 
> Andrew Stitcher
> 
>

Reply via email to