[ad_1]
Module Module1 Event ExEvent() Sub Main() AddHandler ExEvent, AddressOf ExEventHandler Try REM Exception from event handler propagates here RaiseEvent ExEvent() Catch ex As Exception Console.WriteLine(ex.Message) End Try Console.ReadKey() End Sub Private Sub ExEventHandler() Throw New NotImplementedException End Sub End Module
Những gì tôi đã thử:
Tìm kiếm trên mạng. Cũng đọc tài liệu.
Giải pháp 1
Sự kiện chỉ là lệnh gọi hàm mà bạn không kiểm soát thời điểm cuộc gọi diễn ra. Cuộc gọi và cụ thể hơn là địa chỉ trả về của cuộc gọi sẽ nằm trong ngăn xếp giống như bất kỳ lệnh gọi hàm nào khác.
Nếu bạn muốn biết chi tiết rõ ràng về cách xử lý ngoại lệ hoạt động, bạn sẽ cần biết về Xử lý ngoại lệ có cấu trúc của Windows (SEH), trong đó các ngoại lệ .NET được triển khai. Matt Pietrek đã viết những gì có lẽ là bản tóm tắt chính xác về SEH bên ngoài tài liệu của Microsoft. Bạn có thể tìm nó đây[^].
Sau khi bạn đọc xong, Chris Brumme có một bài viết rất hay về cách triển khai ngoại lệ .NET, đây[^].
Ồ, và để trả lời câu hỏi “Làm cách nào để bỏ qua các ngoại lệ trong trình xử lý sự kiện?”, bạn không thể.
[ad_2]
コメント