U ovom vodiču saznat ćete kako ažurirati aplikaciju da bi se prikazala stranica pogreške svaki put kada je prikazana Neodređeno izuzeće pojavljuje se u aplikaciji. Zadatak pokazuje kako postupati s pogreškama, kao i kako dodati stranice u vašu aplikaciju i kretati se između njih. Ovaj je post dio našeg vodiča za sustav Windows Phone.
1. Dodajte novu stranicu u projekt. U Solution Explorer, desnom tipkom miša kliknite HelloPhone opcija projekta i Dodati Nova stvar, U Dodaj novu stavku dijaloški okvir, odaberite Stranica portreta sustava Windows Phone s popisa predložaka, postavite naziv ErrorPage.xaml i zatim kliknite Dodati.
2. U ErrorPage.xaml, pronađite LayoutRootrešetka element i zamijenite njegovo dijete kontrole s plavim označenim XAML markupom. Ovaj XAML definira naslov aplikacije i naslov stranice, i zove se pogreška. Također definira a TextBlock objekt označen kao x: Ime =”ErrorText” koji će zadržati tekst pogreške iz bilo koje buduće iznimke.
… … ?> var13 ->
3. Pritisnite F7 da biste otvorili datoteku s kodom iza nove stranice ili kliknite desnom tipkom miša ErrorPage.xaml u Solution Explorer i odaberite Prikaz koda, Zatim umetnite sljedeći isječak koda u okvir ErrorPage na označenoj lokaciji. To postavlja izuzetak objekt koji je vezan za ErrorText.
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. Nakon toga, spojite upravitelja događaja da biste se kretali do stranice pogreške i prikazali poruku o pogrešci kada dođe do neočekivane iznimke. U Solution Explorer, desni klik App.xaml i odaberite Prikaz koda za otvaranje klase iza koda primjena klase.
5. Pronađite Application_UnhandledException voditelj događaja i umetnite sljedeći isječak koda na označenoj lokaciji neposredno prije zatvaranja okvira. Application_UnhandledException je sigurnosna mreža gdje svi neodgovoreni izuzeci vaše prijave završavaju. Sada povezujete objekt izuzetka s ErrorPage.Exceptionobjekta i kada pretražujete stranicu pogreške, uzima se iznimka vrijednost teksta objekta (Exception.ToString ();) i prikazuje je na stranici. To će biti vrlo korisno kada pokrenete program za ispravljanje pogrešaka u aplikaciji na stvarnom uređaju.
// 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); }