[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
मैंने क्या प्रयास किया है:
वेब खोज। दस्तावेज़ीकरण भी पढ़ें.
समाधान 1
एक ईवेंट केवल एक फ़ंक्शन कॉल है जहां कॉल होने पर आप नियंत्रित नहीं करते हैं। कॉल, और अधिक विशेष रूप से, कॉल का रिटर्न पता किसी अन्य फ़ंक्शन कॉल की तरह ही स्टैक पर जाता है।
यदि आप अपवाद हैंडलिंग कैसे काम करती है, इसकी विस्तृत जानकारी चाहते हैं, तो आपको विंडोज स्ट्रक्चर्ड एक्सेप्शन हैंडलिंग (एसईएच) के बारे में जानना होगा, जिस पर .NET अपवाद लागू किए जाते हैं। मैट पिएट्रेक ने Microsoft दस्तावेज़ के बाहर SEH पर संभवतः निश्चित प्राइमर लिखा है। आप इसे पा सकते हैं यहाँ[^].
एक बार जब आप इसे पढ़ लेंगे, तो क्रिस ब्रुमे के पास .NET अपवाद कार्यान्वयन पर एक बहुत अच्छा लेख है, यहाँ[^].
ओह, और इस प्रश्न का उत्तर देने के लिए कि “इवेंट हैंडलर के अंदर अपवादों को कैसे अनदेखा करें?”, आप नहीं कर सकते।
[ad_2]
コメント