Content deleted Content added
→Restarts separate mechanism from policy: Changed internal link to go directly to the article in question. |
→History: Add Fortran history |
||
Line 23:
== History ==
The earliest [[IBM]] [[Fortran]] compilers had statements for testing exceptional conditions. These included the <code>IF ACCUMULATOR OVERFLOW</code>, <code>IF QUOTIENT OVERFLOW</code>, and <code>IF DIVIDE CHECK</code> statements. In the interest of machine independence, they were not included in FORTRAN IV nor the Fortran 66 Standard. However since Fortran 2003 it is possible to test for numerical issues via calls to functions in the <code>IEEE_EXCEPTIONS</code> module.
Software exception handling developed in the 1960s and 1970s. [[LISP 1.5]] (1958-1961)<ref>{{cite web |last1=McCarthy |first1=John |title=History of Lisp |url=http://www-formal.stanford.edu/jmc/history/lisp/node1.html |website=www-formal.stanford.edu |access-date=13 January 2022 |date=12 February 1979}}</ref> allowed exceptions to be raised by the <code>ERROR</code> pseudo-function, similarly to errors raised by the interpreter or compiler. Exceptions were caught by the <code>ERRORSET</code> keyword, which returned <code>NIL</code> in case of an error, instead of terminating the program or entering the debugger.<ref>{{cite book|▼
▲Software exception handling continued to be developed in the 1960s and 1970s. [[LISP 1.5]] (1958-1961)<ref>{{cite web |last1=McCarthy |first1=John |title=History of Lisp |url=http://www-formal.stanford.edu/jmc/history/lisp/node1.html |website=www-formal.stanford.edu |access-date=13 January 2022 |date=12 February 1979}}</ref> allowed exceptions to be raised by the <code>ERROR</code> pseudo-function, similarly to errors raised by the interpreter or compiler. Exceptions were caught by the <code>ERRORSET</code> keyword, which returned <code>NIL</code> in case of an error, instead of terminating the program or entering the debugger.<ref>{{cite book|
first1=John|last1=McCarthy|first2=Michael I.|last2=Levin|first3=Paul W.|last3=Abrahams|first4=Daniel J.|last4=Edwards|first5=Timothy P.|last5=Hart
|title=LISP 1.5 programmer's manual |date=14 July 1961 |url=http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual-1961.07.14.pdf#page=58 |access-date=13 January 2022}}</ref>
|