Taki kod:
Uses Variants;
Var V: Variant;
Begin
Writeln('-- in --');
Try
V := 1024*1024*1024*1024*1024;
V *= 1024;
V *= 1024;
Except
Writeln('Exception!');
End;
Writeln('-- out --');
End.
Pod FPC 2.6.2 (Lazarus 1.0.6) na Win32 rzuca wyjątek w linijce ósmej (tj.to drugie V *= 1024;
), który jest złapany przez debugger. I do tego momentu jest ok, natomiast problem jest w tym, że ten wyjątek (EIntOverflow
) nie jest łapany przez konstrukcję Try..Catch
, a tego akurat potrzebuję :/
Meritum: jak ten wyjątek złapać?