Skąd pochodzą wyjątki i obsługa wyjątków?
Podoba mi się, jak .NET go używa, podoba mi się, jak C ++ go obsługuje (ale biblioteki niestety używają kodu powrotu lub są napisane w C). Znam jego standard we wszystkich nowych językach, ale kto go zaprojektował jako pierwszy lub skąd się wziął?
Czy C ++ jest pierwszym językiem, który go używa? Nie znam żadnego, który byłby starszy.
history
exceptions
komar
źródło
źródło
Odpowiedzi:
Cytowano stąd .
Wikipedia zawiera więcej szczegółów na temat obsługi wyjątków w PL / 1 . Ta strona odnosi się również do PL / 1 jako pierwszej. Oczywiście nie jest to dowód naukowy :-)
Co do tego, kto osobiście zaprojektował PL / 1, w artykule nie wspomniano żadnych nazwisk, tylko różne komitety w IBM.
źródło
Hof, Mössenböck i Pirkelbauer (w swoim artykule z 1997 r. Zero-Overhead Exception Handling using Metaprogramming ) potwierdzają, że koncepcja wyjątków została zasugerowana w latach siedemdziesiątych, odnosząc się do obsługi wyjątków Johna B. Goodenougha w 1975 r . : Problemy i proponowany dokument notacyjny w komunikatach ACM . W nim łączy nowoczesną obsługę wyjątków z ogólną ideą rejestrowania wywołań zwrotnych, a jego proponowana notacja bardziej przypomina nowoczesną specyfikację metadanych atrybutu niż
try/catch
, ale to (lub przynajmniej jej sekcja 2) jest świetnym przeglądem stanu obsługi wyjątków w połowa lat siedemdziesiątych.Godnym uwagi jest również
raise/rescue
mechanizm w Alefie , który można postrzegać jako prymitywną formęcatch
bloków, abyśmy nie myśleli, że wyskoczyli w pełni uformowani z czoła Stroustroup jak Athena z Zeusa.źródło