Interview Questions

How does Delphis exception handling work?

Delphi Interview Questions


(Continued from previous question...)

How does Delphis exception handling work?

The basic structure goes something like this:

p := new(big_thing);
try
blah(p);
foo(p);
finally
dispose(p);
end;


The first line allocates a big block of memory. Then, in the "try" block, we execute several statements, each of which might produce an error--or, in other words, "raise an event." If an error does occur, the rest of the "try" block will be skipped, "finally" blocks will be executed. If there are no errors, then the "finally" block will be entered when the last statement in the "try" block completes. So, either way, the big block of memory gets freed. These "try/finally" blocks will trap anything up to and including a Windows GPF..

(Continued on next question...)

Other Interview Questions