title: How is it possible, in Ada, to have a code failure from assigning a 64bit floating point number to a 16bit integer?
body: <p>I have just discovered this report on the reasons for the failure of the Ariane 5 rocket. According to the report, the failure occurred when a 64bit floating point number was assigned to a 16bit integer.</p>
  
  <p>One of the, many, reasons why Ada is a reliable language, is that it uses strong typing, and has proper handling of exceptions. I don't understand how it was possible to write code that attempted this conversion and have it compile correctly.</p>
  
  <p>There's also the question of why an exception handler didn't exist for this condition, which is also peculiar, but, perhaps, more of a failure of the programmer than the language - though an Ada project that left live code with potential exceptions but no exception handler is difficult to imagine.</p>
  
  <p>Any ideas? </p>
  
  <p><a href="http://www-users.math.umn.edu/~arnold/disasters/ariane5rep.html" rel="nofollow noreferrer">http://www-users.math.umn.edu/~arnold/disasters/ariane5rep.html</a></p>