ProcessMessages mess up exception handler?

Hello all,

I have a D3 program:

while condition do
  A;
end;

...
procedure A;
begin
  statement1;
  while True do try
    ...
    (no error) Break;
  except
    Application.ProcessMessages;
  end;
  statement2;
end;
...

I want to have my program automatically retry operations until
external problems are corrected manually, and in the process
I don't want my program to extroit too much on my WinNT system.
However, I only got a mess of my function call: I only get
statement1 but not statement2!

Do you know what's wrong?

Gary Tse.
+---------------------------------------------------------------------
|
| Q: Who's the guy that sold you something for plenty of bucks,
|    but'll tell you "Wow, ok, it's our *unique* feature (set).",
|    after the beast'd killed all what you have done this morning?
|
| A: You already know it ...
|
+---------------------------------------------------------------------

******* Please remove DO_NOT_SPAM_2_ to send me sweet letter! *******