[Qt-interest] Qt and C++ exceptions

Scott Aron Bloom Scott.Bloom at sabgroup.com
Sat May 23 20:18:44 CEST 2009


I worked with MSVC6 long enough to know at the time, it was a fine
compiler, but there was way too long a gap between it and the 2003 .NET
VC 7.0 release, which gave it a really really bad reputation.

To make matters worse, when the 7.0 compiler came out, there were many
required code changes (in the STL side especially) that "forced" many
companies to sit on 6.0 longer then they wanted to, ie they couldn't
justify the time in fixing working code, just to go to the latest
compiler.

However, I distinctly remember, that some exceptions being thrown from
inside a DLL were not catchable in another DLL or the main app.  

That said, I still run into clients who were running it as late as last
year.  They were not however using QT, but it's still in use :(

Scott

> -----Original Message-----
> From: qt-interest-bounces at trolltech.com [mailto:qt-interest-
> bounces at trolltech.com] On Behalf Of Maxim Egorov
> Sent: Saturday, May 23, 2009 11:05 AM
> To: qt-interest at trolltech.com
> Subject: Re: [Qt-interest] Qt and C++ exceptions
> 
> I think you're mistaken. Yes, the implementation of exceptions in
MSVC6 based
> on SEH mechanism, or in your terms, Win32 exceptions. It's true. But
this is
> just a realization. Speaking about the full support of exceptions, I
mean the
> correct processing of construction like try / catch by the compiler in
> accordance with the C++ standard. And the C++ compliler in MSVC6 did
it.
> Exceptions can cross dll boundaries. You may have linked to run-time
C++
> library, both static and shared (msvcrt.dll). If you choose to use
msvcrt.dll,
> you still can handle exceptions of type std:: exception, and derived
from it
> (even if it had been throwed in another dll) by the try / catch
construction.
> In any case, the compiler used in MSVC6 is out of date and I think
there are
> not many developers using it.
> P.S.
> Sorry for my English.
> 
> > > MSVC6 fully supported exceptions. The native support for
exceptions
> > had been
> > > introduced since version 4.0. Maybe he has problems with the
support
> > of
> > > templates, but does not support exceptions. I used MSVC6 about 4
> > years, so I
> > > think that I can assert this.
> > >
> > > >
> > > > > So I think it would
> > > > > be wise to consider support for exceptions to be one of the
most
> > > > > important tasks.
> > > >
> > MSVC supported Win32 exceptions not C++ standard exceptions, and the
> > exceptions did not pass DLL runtime different boundaries
correctly...
> >
> > Scott
> >
> 
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest




More information about the Qt-interest-old mailing list