On 2020-12-10 07:34, Sven Barth via fpc-devel wrote:
Am 09.12.2020 um 23:45 schrieb Bart via fpc-devel:
Compiled with fpc 3.2.0 on Windows it will output (both 32 and 64 bit):
Runtime error 201 at $004015F1
   $004015F1
   $00407307

Compiled with fpc 3.2.0 on linux X86_64 it will output
Except block
Finally block

On Windows you need to include the sysutils unit to execute the except
and finally block.

That is correct, because without the SysUtils unit (which declared the
Exception type) the RTL can't convert the triggered runtime error to
an exception type that can be caught inside the try ... except ... end
block.
 .
 .

Is the current behaviour on "other" (non-MS Windows) targets really correct (I checked under OS/2 for both 3.2.0 and trunk and it behaves the same way as Linux)? Including SysUtils should result in converting a run-time error to an exception. If SysUtils is not included, run-time error should be raised regardless from the try..except block (as it does under MS Windows, but not on other platforms at the moment), shouldn't it? Shouldn't the try..except construct by default (i.e. without using SysUtils) catch only explicitly raised exceptions?

Tomas
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to