Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Frankq - Gennaio 27, 2014, 09:27:10 am

Titolo: Try ... except
Inserito da: Frankq - Gennaio 27, 2014, 09:27:10 am
Ciao a tutti
Nel ebook "StartProgrUsingPascal" c'è un esempio di try ... except
Ho copiato l'esempio su Lazarus, mi compila senza errori, ma quando divido per zero non mi attiva la gestione dell'eccezione
accludo il code
 
Codice: [Seleziona]
program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes , sysutils
  { you can add units after this };
  var
  x, y: Integer;
  Res: Double;
begin


  try
  Write('Input x: ');
  Readln(x);
  Write('Input y: ');
  Readln(y);
  Res:= x / y;
  Writeln('x / y = ', Res);
  except
  on e: exception do
  begin
  Writeln('Errore zero: ', e.message);
  end;
  end;
  Write('Press enter key to close');
  Readln;


end.

la riga "Errore zero" non viene stampata a video
Dove sbaglio?
Franco
Titolo: Re:Try ... except
Inserito da: xinyiman - Gennaio 27, 2014, 01:23:05 pm
In teoria la gestione degli errori serve quando lanvi l'eseguibile e non quando lo debuggi dall'IDE. Prova a compilarlo ma a lanciare l'eseguibile e poi mi dici!
Titolo: Re:Try ... except
Inserito da: Frankq - Gennaio 27, 2014, 01:54:20 pm
Hai perfettamente ragione. Se compilato mi segnala l'errore
Grazie Franco
Titolo: Re:Try ... except
Inserito da: xinyiman - Gennaio 27, 2014, 01:58:49 pm
Si perchè in fase di debug te lo segnala in modo tale che tu possa correggere l'errore.

Ciao