On 11/01/2025 07:53, Adriaan van Os via fpc-pascal wrote:
Am 10.01.2025 um 15:43 schrieb Adriaan van Os via fpc-pascal:

But now I install a system.ErrorProc and run the same program. It emits, instead of the EBusError, Runtime Error 214.

This puzzles me.

This is as designed, because the ErrorProc is what is used by the SysUtils unit to convert runtime errors to exceptions. If you want to implement your own handling, then store the original value of ErrorProc, assign your own handler, do your own handling and at the end call the saved ErrorProc.

I don't want to handle the error, I want a meaningful error. And Runtime Error 214 "Collection overflow" is nonsense.

The sole purpose of overriding System.ErrorProc is to handle errors by yourself. If you don't want to handle a particular error, do as Sven said (call the original System.ErrorProc), and then whatever custom error handler that was there before will do its thing. In this case: the error handler that was installed by the SysUtils unit, which will raise an EBusError exception (which seems to be what you want).


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

Reply via email to