Ceci est une ancienne révision du document !


Les Exceptions dans Lazarus

Déclencher une Exception

raise exception.create('Cas non défini, à implementer...')
ou formaté :
raise exception.createFmt('Cas [%d] non défini, à implementer...',[varType(v)])

Try/Except : Capturer une Exception

try
    MaProcedureQuiDeclencheUnException;
except
    on E:EOleException do
        Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
    on E:Exception do
        Writeln(E.Classname, ':', E.Message);
end;

CaptureException

Apparement TApplication aurait une propertir CaptureException (public) pour gérer les exceptions…. a creuser.

procedure TApplication.RunLoop;
begin
  repeat
    if CaptureExceptions then
      try // run with try..except
        HandleMessage;
      except
        HandleException(Self);
      end
    else
      HandleMessage; // run without try..except
  until Terminated;
end;
Vous pourriez laisser un commentaire si vous étiez connecté.