On 02/08/2012 12:19, ext Thiago Macieira wrote:
> On quinta-feira, 2 de agosto de 2012 17.15.26, marius.storm-ol...@nokia.com
> wrote:
>> So, perhaps we can identify the cases where they are similar and use
>> that with MSVC until proper noexcept()/noexcept(<type>) support is provided?
>
> Yes. I can identify where they are similar: nowhere.
>
> If you add it, the function with the throw() specification will *add* code to
> check all exceptions. That's why throw() is deprecated.

Huh? The documentation explicitly says
"    void MyFunction(int i) throw();
tells the compiler that the function does not throw any exceptions. It 
is the equivalent to using __declspec(nothrow)."

So, i.o.w. throw() == __declspec(nothrow), which in turn means

"the compiler can eliminate the mechanics of tracking the lifetime of 
certain unwindable objects in such a function, and significantly reduce 
the code size".

So no, throw() will effectively remove all checking for exceptions.

Using "throw(...)" *will* add code to check all exceptions, but that's 
not what we were talking about.

-- 
.marius
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to