De onde vieram as exceções e o tratamento de exceções?
Gosto de como o .NET usa, gosto de como o C ++ suporta (mas as bibliotecas infelizmente usam código de retorno ou são escritas em C). Eu sei que é praticamente padrão em todos os novos idiomas, mas quem o criou primeiro ou de onde veio?
C ++ é o primeiro idioma a usá-lo? Não conheço outro que seja mais velho.
history
exceptions
mosquito
fonte
fonte
Respostas:
Citado aqui .
A Wikipedia possui mais detalhes sobre o tratamento de exceções no PL / 1 . Essa página também se refere ao PL / 1, sendo o primeiro. Claro, isso não é prova científica :-)
Quanto a quem pessoalmente projetou o PL / 1, o artigo não menciona nomes, apenas vários comitês da IBM.
fonte
Hof, Mössenböck e Pirkelbauer (em seu trabalho de 1997, Zero-Overhead Exception Handling using Metaprogramming ) afirmam que o conceito de exceções foi sugerido nos anos setenta, referindo-se a 1975 de John B. Goodenough. tratamento de exceções de : questões e um documento de notação proposto nas Comunicações de o ACM . Nele, ele combina o tratamento moderno de exceções com a idéia geral de registrar retornos de chamada, e sua notação proposta se parece mais com as especificações modernas de metadados de Atributo do que
try/catch
, mas (ou pelo menos sua seção 2) é uma excelente visão geral do estado do tratamento de exceções no meados dos anos setenta.Talvez seja digno de nota também o
raise/rescue
mecanismo em Alef , que podemos ver como uma forma primitiva decatch
blocos, para que não pensemos que eles surgiram totalmente formados da testa de Stroustroup, como Athena da de Zeus.fonte