Справочник функций и процедур Delphi: $OverFlowChecks |
|
Навигация по первой букве: |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
|
$OverFlowChecks
Деректива компилятора |
Определяет, проверяет ли Delphi целочисленные и перечислимые границы |
unit |
1 {$OverFlowChecks Off}
2 {$OverFlowChecks On}
| |
|
| Описание |
Директива компилятора $OverFlowChecks определяет, должен ли Delphi добавлять код, чтобы проверить переполнение значения целочисленных и перечислимых операций.
По умолчанию поставлено в Off, подразумевая, что плохая целочисленная или перечислимая операция пройдет незамеченной, показывая себя в трудной для отладки части кода.
Рекомендуют включить $OverFlowChecks, чтобы обнаружить переполнение прежде, чем они вызовут проблемы. Это приведет к подъему исключений, позволяя корректировать код, находя точки отказа.
|
|
| Примечания |
$OverFlowChecks эквивалентна $Q.
Она может и должена только быть установлена только один раз в вашем коде.
$OverFlowChecks Off является значением по умолчанию.
|
|
| Похожие команды |
$Q Определяет, проверяет ли Delphi целочисленные и перечислимые границы
| |
|
| Пример кода : Перехват переполненых значений |
var
myNumber : Byte;
begin // Проверка переполнения включена
{$OverFlowChecks On} // Байт может содержать числа до 255
myNumber := 255;
ShowMessage('myNumber = '+IntToStr(myNumber));
// Превышение 255 выдаст исключение
Inc(myNumber);
ShowMessage('myNumber = '+IntToStr(myNumber));
end;
|
myNumber = 255
Delphi выдаст исключение EIntOverflow
|
|
| | Пример кода : Игнорирование переполненых значений |
var
myNumber : Byte;
begin // Выключение проверок переполнения
{$OverFlowChecks Off} // Байт может содержать числа до 255
myNumber := 255;
ShowMessage('myNumber = '+IntToStr(myNumber));
// Превышение 255 сбросит значение до 0
Inc(myNumber);
ShowMessage('myNumber = '+IntToStr(myNumber));
end;
|
myNumber = 255
myNumber = 0
|
| | |
|