Palabra reservada que se utiliza para lanzar la excepción cuyo nombre se especifica y que puede ir acompañada de un mensaje opcional. En un manejador de excepciones se puede usar sola para relanzar la excepción recibida por el manejador.
raise_statement ::= raise; | raise exception_name [with string_expression];
La excepción División_Por_Cero es la declarada aquí.
function División (A, B: Integer) return Integer is begin if B /= 0 then return A / B; else raise División_Por_Cero with "El divisor no puede ser cero"; end if; end División;
function División (A, B: Integer) return Integer is begin return A / B; -- Constraint_Error se lanza -- automáticamente si B es cero. exception when Constraint_Error raise; -- Se relanza Constraint_Error end División;