Weil es immer wieder zur Sprache kommt, auch in meiner Arbeit (obwohl wir keine Raketenwissenschaftler sind, und kein Ada programmieren),
hier findet sich eine Seite mit einer ziemlich guten Beschreibung, was denn genau schief gelaufen ist beim ersten Start der Ariane 5. Und hier das Code-Snippet:
declare
vertical_veloc_sensor: float;
horizontal_veloc_sensor: float;
vertical_veloc_bias: integer;
horizontal_veloc_bias: integer;
...
begin
declare
pragma suppress(numeric_error, horizontal_veloc_bias);
begin
sensor_get(vertical_veloc_sensor);
sensor_get(horizontal_veloc_sensor);
vertical_veloc_bias := integer(vertical_veloc_sensor);
horizontal_veloc_bias := integer(horizontal_veloc_sensor);
...
exception
when numeric_error => calculate_vertical_veloc();
when others => use_irs1();
end;
end irs2;