runtime error

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English (en) suomi (fi)

A run-time error is an irreparable error condition that arises during the run-time, i.e. the execution of a program.


The FPC inserts code to detect a vast number of error situations. If such a situation is encountered, the standard run-time library will initiate the termination of the program. A run-time error number, and the address the error occurred at is being printed. This is the safest and cheapest error treatment.

Comparative remarks

Compile-time errors

In contrast to compile-time errors, which the compiler detects during compilation, run-time errors depend on the state of the program, thus can not be foreseen in advance. If a compile-time error is encountered, no executable program is generated.


Run-time errors are the classical imperative approach in order to avoid inconsistent program states, which may eventually cause faulty program behavior. If FPC's sysUtils unit is included, all run-time errors become exceptions (cf. system.runTimeErrors for details). Unlike run-time errors those can be caught by try... except ... end blocks, provided a mode allowing exceptions – such as {$mode ObjFPC} or {$mode Delphi} – is being used. A run-time error causes the program to terminate, while an exception may give the opportunity to “fix” the problem. This standard behavior of system.runError can be altered by assigning a non-nil value to system.errorProc.

See also