10.4 подавление проверокДля отмены возможности возбуждения выбранных исключений можно воспользоваться прагмой SUPPRES. Такое указание компилятору называется подавление проверок и его можно сделать как для всей программы, так и в пределах ее части. Описание прагмы SUPPRES: Для всей программы: pragma SUPPRES (Имя_Проверки) ; Для конкретного обьекта, типа, подпрограммы и др.: pragma SUPPRES ( Имя_Проверки, ON = > Имя); Если используется вторая форма прагмы Suppres с именем, то прагма распространяется на все операции с обьектами, имеющими это имя : • все обьекты базового типа для указанного в прагме типа (подтипа); • вызов подпрограмм с указанным именем ; • активизацию задач с указанным именем (задачного типа ); • конкретизацию указанного настраиваемого модуля. Прагма Suppres должна размещаться непосредственно в разделе описаний или спецификации пакета. Ее действие распространяется от прагмы до конца зоны описания данного блока или модуля. Для каждой исключительной ситуации в языке определен перечень проверок. Например, для исключительной ситуации Constraint_Error имеются проверки ссылок ( Access_Check ), дискриминантов ( Dis-criminant_Check), индексов (lndex_Check ), длины ( Length_Check ), диапазона ( Range_Check ). П Например : pragma Suppres (lndex_Check ); Здесь прагма отменяет ( подавляет ) проверку границ массивов и индексов компонент массива в исключении Constraint_Error. pragma Suppres ( Discriminant_Check, ON => Elem ); подавляет проверку дискриминанта для всех обьектов типа Elem. Если в некоторых случаях подавление проверки невозможно, то компилятор игнорирует соответствующую прагму Suppres. Внимание ! Подавление проверок может сократить обьем программы после компилирования и повысить скорость ее выполнения. Однако при этом следует помнить, что этот выигрыш достигается за счет снижения ее надежности. |
| Оглавление| |