मैं डाटाबेस संपत्ति गेटर्स (और सेटर्स द्वारा फेंकने वाले अपवादों को पकड़ने की एक अनुप्रयोग-व्यापी विधि की तलाश में हूं, लेकिन यह बिना किसी कठिनाई के काम करने योग्य है)।डब्ल्यूपीएफ डाटाबेसिंग: संपत्ति गेटर्स द्वारा फेंकने वाले अपवादों को पकड़ना
इन घटनाओं में से कोई भी टिककर खेल द्वारा फेंका अपवाद पकड़ेगा:
AppDomain.CurrentDomain.UnhandledException
Application.Current.DispatcherUnhandledException
Application.Current.Dispatcher.UnhandledException
एक और विचार this thread में वर्णित के रूप में एक UpdateSourceExceptionFilter के साथ एक कस्टम बाध्यकारी वर्ग का प्रयोग है। दुर्भाग्यवश यह विधि केवल संपत्ति सेटर्स में अपवादों को पकड़ती है, न कि गेटर्स।
PresentationTraceSources.Refresh();
PresentationTraceSources.DataBindingSource.Listeners.Add(new PresentationLoggingTraceListener());
PresentationTraceSources.DataBindingSource.Switch.Level = SourceLevels.Error;
इस विधि जो मैं चाहता मूल रूप से करने के लिए प्रकट होता है:
अंतिम विकल्प मैंने देखा है एक PresentationTraceSources ट्रेस श्रोता उपयोग करने के लिए है। दुर्भाग्य से, यह केवल मुझे एक स्ट्रिंग देता है, अपवाद नहीं, जिसका अर्थ है कि मुझे वास्तविक त्रुटि प्राप्त करने के लिए थोड़ा सा काम करना होगा।
ट्रेस लिस्टनर विधि शायद अंत में काम करेगी, लेकिन ऐसा लगता है कि यह थोड़ा हैकिश है। क्या कोई अन्य विकल्प है जो मैं याद कर रहा हूं, या क्या मैं ट्रेस लिस्टनर के साथ काफी अटक गया हूं?
मैं इस –