www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to handle assert() in Windows GUI apps?

reply Andrej Mitrovic <none none.none> writes:
It turns out that using assert() that throws in a Windows application will show
an error such as this:

---------------------------
first.exe - Application Error
---------------------------
The instruction at "0x00411e6a" referenced memory at "0x00000044". The memory
could not be "read".
---------------------------

I'm not sure if this is a bug or expected behavior. If it's expected, isn't it
possible to reroute assert() to use a dialog box and report the failed assert
there?

Here's the code, using WindowsAPI from dsource, non-unicode mode:
http://codepad.org/LOvfAwSR
Apr 07 2011
next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
In fact throwing any kind of exception gives the same error, even if I
change the exceptionHandler to not rethrow, or if I try to use show a
dialog box within exceptionHandler (it won't show up). What is going
on?
Apr 07 2011
prev sibling next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Oh I'm so stupid I didn't realize my commands were outside the try
catch statement.
Apr 07 2011
parent Kagamin <spam here.lot> writes:
Andrej Mitrovic Wrote:

 Oh I'm so stupid I didn't realize my commands were outside the try
 catch statement.

LOL, nice joke.
Apr 08 2011
prev sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Everything works fine now, please disregard my silly thread. :)
Apr 07 2011