Board index » cppbuilder » eexternalexception

eexternalexception


2003-09-20 03:56:33 AM
cppbuilder27
I've started getting intermittent exceptions when I close my app in the IDE.
The caption reads "De{*word*81} Exception Notification"
and says there's been an EExternalException c0000025.
In the cpu window, it says that ntdll raised the exception.
What is this?
--
...
 
 

Re:eexternalexception

"Duane Hebert" < XXXX@XXXXX.COM >wrote in message
Quote
The caption reads "De{*word*81} Exception Notification"
and says there's been an EExternalException c0000025.
There are a couple of different causes for that:
1) your code threw a C++ exception that filtered into the VCL Pascal code.
Pascal can't handle C++ exceptions. Although, the erro code for such an
exception is usually EEAFACE (or something like that).
2) a library you are using really did through its own exception outside of
your code.
Quote
In the cpu window, it says that ntdll raised the exception.
Could be. NTDLL is known to have a few hard-coded calls to RaiseException()
left over in its code.
Gambit
 

Re:eexternalexception

Thanks Remy.
Quote
There are a couple of different causes for that:

1) your code threw a C++ exception that filtered into the VCL Pascal code.
Pascal can't handle C++ exceptions. Although, the erro code for such an
exception is usually EEAFACE (or something like that).
2) a library you are using really did through its own exception outside of
your code.

>In the cpu window, it says that ntdll raised the exception.

Could be. NTDLL is known to have a few hard-coded calls to
RaiseException()
left over in its code.
I'll have to try to find this but the thing is that it only does it in the
IDE.
 

{smallsort}

Re:eexternalexception

"Duane Hebert" < XXXX@XXXXX.COM >wrote in message
Quote
I'll have to try to find this but the thing is that it only
does it in the IDE.
That is because the IDE it designed to intercept exceptions before the
application does. Simply press F9 to continue execution and the exception
will be passed back to the application for normal handling. In the case of
NTDLL, the user will probably never see the exceptions as NTDLL is most
likely hiding them internally. But the IDE still picks up on all exceptions
regardless of where they come from.
Gambit
 

Re:eexternalexception

Thanks Remy. You pointed me in the right direction.
It was in the main dtor. Someone changed the destruct order and was
deleting something before something
that had a pointer to it. I hate when that happens :-)
 

Re:eexternalexception

Duane Hebert wrote:
Quote
I've started getting intermittent exceptions when I close my app in the IDE.
The caption reads "De{*word*81} Exception Notification"
and says there's been an EExternalException c0000025.
In the cpu window, it says that ntdll raised the exception.
What is this?
This is a Windows API exception called EXCEPTION_NONCONTINUABLE_EXCEPTION.
WInAPI help says that it is caused by 'The thread attempted to continue
execution after a noncontinuable exception occurred.'
That's what it is. But i have no idea what to do to stop that exception from
being thrown.
TP.