[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
Ce que j’ai essayé :
Rechercher sur le Web. Lisez également la documentation.
Solution 1
Un événement est simplement un appel de fonction sur lequel vous ne contrôlez pas le moment où l’appel se produit. L’appel, et plus précisément l’adresse de retour de l’appel, est placé sur la pile comme n’importe quel autre appel de fonction.
Si vous souhaitez connaître les détails du fonctionnement de la gestion des exceptions, vous devez connaître la gestion structurée des exceptions (SEH) de Windows, sur laquelle les exceptions .NET sont implémentées. Matt Pietrek a écrit ce qui est probablement l’introduction définitive sur SEH en dehors de la documentation Microsoft. Tu peux le trouver ici[^].
Une fois que vous avez lu cela, Chris Brumme a un très bon article sur l’implémentation des exceptions .NET, ici[^].
Oh, et pour répondre à la question « Comment ignorer les exceptions dans les gestionnaires d’événements ? », vous ne pouvez pas.
[ad_2]
コメント