Procedure procAddNewAlbum; Var tmpAlbumName : AnsiString; tmpAlbumID : Longint; tmpNumTracks : Smallint; tmpLabel : AnsiString; tmpYear : Integer; Begin Write ('album name: '); ReadLn (tmpAlbumName); tmpAlbumID := ID_Generator; Write ('tracks: '); Try ReadLn (tmpNumTracks); Except On E: EInOutError do tmpNumTracks := 0; End; WriteLn ('tmpNumTracks = ',tmpNumTracks); Write ('label: '); ReadLn (tmpLabel); Write ('year: '); Try ReadLn (tmpYear); Except tmpYear := 0; End; End;
now, if i enter anything for tmpNumTracks that's not numeric (and therefore raises the exception) the following happens ...
album name: test tracks: g tmpNumTracks = 0 label: year: ^C
the exception code appears to be executed, but when the program "exits" the exception block it seems to be processing one line, then skipping one, then proceeding as normal ... i don't *think* i've made any syntax mistakes, and if i have i'm going to look rather silly ... :D
_______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal