[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
Lo que he probado:
Busca en la web. Lea también la documentación.
Solución 1
Un evento es solo una llamada a una función donde no controlas cuándo ocurre la llamada. La llamada, y más específicamente, la dirección del remitente de la llamada, va a la pila como cualquier otra llamada a función.
Si desea obtener detalles concretos sobre cómo funciona el manejo de excepciones, necesitará conocer el manejo estructurado de excepciones (SEH) de Windows, en el que se implementan las excepciones .NET. Matt Pietrek escribió lo que probablemente sea el manual definitivo sobre SEH fuera de la documentación de Microsoft. Puedes encontrarlo aquí[^].
Una vez que haya leído eso, Chris Brumme tiene un muy buen artículo sobre la implementación de excepciones de .NET. aquí[^].
Ah, y para responder a la pregunta “¿Cómo ignorar las excepciones dentro de los controladores de eventos?”, no puedes.
[ad_2]
コメント