Dari mana asalnya pengecualian dan penanganan eksepsi?
Saya suka bagaimana. NET menggunakannya, saya suka bagaimana C ++ mendukungnya (tapi sayangnya perpustakaan menggunakan kode pengembalian atau ditulis dalam C sebagai gantinya). Saya tahu standarnya cukup banyak dalam semua bahasa baru, tetapi siapa yang mendesainnya terlebih dahulu atau dari mana asalnya?
Apakah C ++ bahasa pertama yang menggunakannya? Saya tidak tahu ada yang lebih tua.
history
exceptions
agas
sumber
sumber
Jawaban:
Dikutip dari sini .
Wikipedia memiliki lebih banyak detail tentang penanganan eksepsi di PL / 1 . Halaman itu juga merujuk ke PL / 1 sebagai yang pertama. Tentu saja, ini bukan bukti ilmiah :-)
Mengenai siapa yang merancang PL / 1 secara langsung, artikel tersebut tidak menyebutkan nama, hanya berbagai komite di IBM.
sumber
Hof, Mössenböck dan Pirkelbauer (dalam makalah mereka tahun 1997 Zero-Overhead Exception Handling menggunakan Metaprogramming ) menegaskan bahwa konsep pengecualian disarankan pada tahun tujuh puluhan, merujuk pada penanganan Pengecualian John B. Goodenough tahun 1975 : Masalah dan makalah notasi yang diusulkan dalam Komunikasi ACM . Di dalamnya ia mengonfigurasikan penanganan pengecualian modern dengan gagasan umum untuk mendaftarkan panggilan balik, dan notasi yang diusulkan lebih mirip spesifikasi metadata Atribut modern daripada
try/catch
, tetapi (atau setidaknya bagian 2) merupakan gambaran besar tentang keadaan penanganan pengecualian di pertengahan tahun tujuh puluhan.Mungkin yang perlu diperhatikan juga adalah
raise/rescue
mekanisme dalam Alef , yang dapat dilihat sebagai bentukcatch
blok primitif , kalau tidak kita pikir mereka muncul sepenuhnya dari alis Stroustroup seperti Athena dari Zeus.sumber