¿De dónde provienen las excepciones y el manejo de excepciones?
Me gusta cómo lo usa .NET, me gusta cómo C ++ lo admite (pero las bibliotecas desafortunadamente usan el código de retorno o están escritas en C). Sé que es bastante estándar en todos los idiomas nuevos, pero ¿quién lo diseñó primero o de dónde vino?
¿Es C ++ el primer lenguaje que lo usa? No conozco otro que sea más viejo.
history
exceptions
mosquito
fuente
fuente
Respuestas:
Citado desde aquí .
Wikipedia tiene más detalles sobre el manejo de excepciones en PL / 1 . Esa página también se refiere a PL / 1 como el primero. Por supuesto, esto no es una prueba científica :-)
En cuanto a quién diseñó PL / 1 en persona, el artículo no menciona nombres, solo varios comités en IBM.
fuente
Hof, Mössenböck y Pirkelbauer (en su documento de 1997 Zero-Overhead Exception Handling usando Metaprogramming ) afirman que el concepto de excepciones se sugirió en los años setenta, refiriéndose al manejo de excepciones de 1975 de John B. Goodenough : problemas y un documento de notación propuesto en las Comunicaciones de la ACM . En él, combina el manejo moderno de excepciones con la idea general de registrar devoluciones de llamada, y su notación propuesta se parece más a las especificaciones modernas de metadatos de atributos que
try/catch
, pero (o al menos su sección 2) es una gran descripción del estado del manejo de excepciones en el mediados de los setenta.Quizás sea de destacar también el
raise/rescue
mecanismo en Alef , que se puede ver como una forma primitiva decatch
bloques, para que no pensemos que surgieron completamente formados de la frente de Stroustroup como Athena de Zeus.fuente