Recently, I have been caught a couple of times by mistakes in my programs using Format (from SysUtils). When the format string and the supplied arguments do not match, Format raises an exception.
This is nice, but unfortunately, only a hexadecimal address is printed when the exception is not caught (my programs do not catch this exception). All the pieces of these programs have been compiled with -gl under Linux on i386 with 1.0.10 (actually with ppc386 -vwn -gl -O2 -Sd -Ci -Cr -Co -Ct). It is a small disaster to find out which Format call is in error, if you have many of them. How can one get line numbers on the uncaught exception? Shouldn't a normal backtrace be generated, including line numbers? Here is a small program and its response: [EMAIL PROTECTED](228) cat formatexception.pp program FormatException; uses SysUtils; { for Format } begin writeln ( Format ( '%S', [ 1 ] ) ) { 1 is not a string --> ECONVERTERROR } end. [EMAIL PROTECTED](229) ppc386 -gl -Sd formatexception.pp Free Pascal Compiler version 1.0.10 [2003/06/26] for i386 Copyright (c) 1993-2003 by Florian Klaempfl Target OS: Linux for i386 Compiling formatexception.pp Assembling formatexception Linking formatexception 7 Lines compiled, 0.3 sec [EMAIL PROTECTED](230) ./formatexception An unhandled exception occurred at 0x0805093B : ECONVERTERROR : Invalid argument index in format "" 0x0805093B Thanks, Tom _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal