[M3devel] RuntimeException catching broken? Re: assertion failure in RTCollector

Olaf Wagner wagner at elegosoft.com
Sun Mar 9 20:11:33 CET 2008


Now for somethings completely different ;-)

I've written this simple test program to verify Dragisa's report
about not-working runtime exceptions:

MODULE Main;

IMPORT RuntimeError, IO, Process;

CONST Tag = RuntimeError.Tag;

PROCEDURE CatchAssert() =
   BEGIN
     TRY
       <*ASSERT FALSE*>
     EXCEPT
       RuntimeError.E( t ) =>
       IO.Put( "OK: caught RuntimeError.Assert: " & Tag( t ) & "\n" );
     END;
   END CatchAssert;

PROCEDURE TestAll() =
   BEGIN
     CatchAssert();
   END TestAll;

BEGIN
   TRY
     TestAll();
   EXCEPT
   ELSE
     IO.Put( "ERROR: caught unexpected exception\n" );
     Process.Exit( 1 );
   END;
END Main.

As he has reported, the exception is not caught. I've tried the debugger
and set breakpoints at RTHooks.Raise() and RTHooks.AssertFailed(), but
it did never stop there.

Any ideas what's wrong there? You probably know better than me how
exceptions are implemented.

For today, I think I'll add that program as p208 to m3tests and then
turn my attention to dinner :-)

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list