a := 5/0;
The expression 5/0 , from a technical point of view, is an expression.
A constant expression is an expression that the compiler can evaluate without executing the program in which it occurs. Constant expressions include numbers; character strings; true constants; values โโof enumerated types; special constants True, False and nil; and expressions built exclusively from these elements with set operators, types, and constructors.
Thus, this expression is evaluated by the compiler, and not at runtime. Thus, its evaluation is determined by compilation time rules and cannot depend on runtime exclusion masks.
And these rules state that a positive value divided by zero is +INF , the special value of IEEE754. If you modify the expression to have at least one argument that is not a constant expression, then it will be evaluated at runtime, and the selection with zero exception will be increased.
source share