CPU VAX có hệ thống xử lý ngoại lệ dựa trên stack. Trong mọi khung cuộc gọi, một ô 32 bit được cấp phát và được điền bằng số không. Nếu chương trình con được gọi là muốn xử lý các ngoại lệ, tất cả những gì nó phải làm là điền vào ô đó với địa chỉ của thường trình xử lý ngoại lệ.
Khi ngoại lệ xảy ra, tìm kiếm ngăn xếp sẽ xảy ra. Điều này thật dễ dàng, vì các khung ngăn xếp đều bị xích lại với nhau. Khung ngăn xếp đầu tiên có mục nhập khác 0 sẽ làm cho ngăn xếp thư giãn đến điểm đó và trình xử lý ngoại lệ sẽ được gọi.
Tôi nhớ đây là một trong những tính năng của bộ xử lý nhằm vào các ngôn ngữ cấp cao hơn, nhưng tôi không biết rằng có một ngôn ngữ cấp cao hơn đã tận dụng được tính năng này. Tôi tin rằng nó đã được sử dụng bởi mã thư viện, mà có khả năng đã được viết trong assembler.
Nguồn
2009-12-14 01:28:49
Trong thời trang được đóng gói lại phần nào, điều này chủ yếu là bản sao của http://stackoverflow.com/questions/1449951/what-language-was-the-first-to-implement-exception-handling – mjv
Cảm ơn! Nhưng tôi cũng đánh giá cao câu trả lời cho các câu hỏi 3 và 4. – Frunsi
+1 cho bài đăng đẹp .. –