The two overloads of TIniFile_ReadInt(..., _Default: Integer; _DefaultIfEmtpy: Boolean = False) in u_dzClassUtils behave like this:
_Default, whatever _DefaultIfEmtpy says_Default if _DefaultIfEmtpy is True, raises EStringConvertError if it is FalseSo the parameter actually means "default if invalid", and an empty value can never raise. This is also inconsistent with TIniFile_ReadString(..., _Default, _DefaultIfEmtpy), where the parameter really is about empty values.
The doc comment used to say "raises an exception if the value is not an integer or empty string. For empty strings, it returns the default."; since revision #2431 it describes the actual behaviour.
To decide: change the code to match the name (empty: default only if _DefaultIfEmtpy, otherwise raise), or keep the behaviour and rename the parameter (Delphi has no named arguments, so existing callers are not affected by a rename). The parameter name also has a typo (Emtpy), in TIniFile_ReadString too.
Fixed in revision #2455