इस ट्यूटोरियल में, आप सीखेंगे कि जब भी कोई त्रुटि पृष्ठ प्रदर्शित करने के लिए एप्लिकेशन को अपडेट करना है अनियंत्रित अपवाद आवेदन में होता है। कार्य दिखाता है कि त्रुटियों को कैसे संभालना है और साथ ही साथ अपने एप्लिकेशन में पृष्ठों को कैसे जोड़ना है और उनके बीच नेविगेट करना है। यह पोस्ट हमारे विंडोज फोन ट्यूटोरियल श्रृंखला का हिस्सा है।
1. परियोजना में एक नया पृष्ठ जोड़ें। में समाधान खोजी, राइट-क्लिक करें HelloPhone परियोजना विकल्प, और जोड़ना नई वस्तु । में नए सामान को जोड़ो संवाद, का चयन करें विंडोज फोन पोर्ट्रेट पेज दिए गए टेम्पलेट्स की सूची से, नाम को सेट करें ErrorPage.xaml और उसके बाद क्लिक करें जोड़ना.
2. में ErrorPage.xaml, का पता लगाएं LayoutRootग्रिड तत्व और नीले-हाइलाइट किए गए XAML मार्कअप के साथ अपने बच्चे के नियंत्रण को प्रतिस्थापित करें। यह एक्सएएमएल एक नाम शीर्षक और एक पृष्ठ शीर्षक परिभाषित करता है, दोनों नाम त्रुटि। यह भी परिभाषित करता है TextBlock वस्तु के रूप में नामित एक्स: नाम = "ErrorText" जो कि किसी भी भावी अपवाद से त्रुटि पाठ धारण करेगा।
… … ?> var13 ->
3. दबाएं F7 नए पेज की कोड-बैक फ़ाइल खोलने के लिए या राइट-क्लिक करें ErrorPage.xaml में समाधान खोजी और चयन करें कोड देखें । फिर, निम्न कोड स्निपेट को सम्मिलित करें ErrorPage हाइलाइट किए गए स्थान पर कक्षा। यह एक सेट अप करता है अपवाद ऑब्जेक्ट जो त्रुटि टेक्स्ट से जुड़ा हुआ है।
public partial class ErrorPage: PhoneApplicationPage { public ErrorPage() { InitializeComponent(); } public static Exception Exception; // Executes when the user navigates to this page. protected override void OnNavigatedTo(Microsoft.Phone.Navigation.PhoneNavigationEventArgs e) { ErrorText.Text = Exception.ToString(); } }
4. उसके बाद, किसी इवेंट हैंडलर को त्रुटि पृष्ठ पर नेविगेट करने के लिए हुक अप करें और जब भी एक अनचाहे अपवाद होता है तो एक त्रुटि संदेश प्रदर्शित करें। में समाधान खोजी, दाएँ क्लिक करें App.xaml और चयन करें कोड देखें कोड-बैक क्लास को खोलने के लिए आवेदन कक्षा।
5. खोजें Application_UnhandledException ईवेंट हैंडलर और समापन ब्रेस से पहले हाइलाइट किए गए स्थान पर निम्न कोड स्निपेट डालें। Application_UnhandledException एक सुरक्षा नेट है जहां आपके आवेदन के सभी अनचाहे अपवाद समाप्त होते हैं। अब आप अपवाद ऑब्जेक्ट को हुक अप करते हैं ErrorPage.Exception ऑब्जेक्ट और जब आप त्रुटि पृष्ठ पर ब्राउज़ करते हैं, तो यह अपवाद ऑब्जेक्ट का टेक्स्ट मान लेता है (Exception.ToString ();) और इसे पेज पर प्रदर्शित करता है। एक बार जब आप अपने डिवाइस को वास्तविक डिवाइस पर डीबग करना शुरू करेंगे तो यह बहुत उपयोगी होगा।
// Code to execute on Unhandled Exceptions private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) { if (System.Diagnostics.Debugger.IsAttached) { // An unhandled exception has occurred, break in the debugger System.Diagnostics.Debugger.Break(); } e.Handled = true; ErrorPage.Exception = e.ExceptionObject; (RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = new Uri('/ErrorPage.xaml', UriKind.Relative); }