I denne opplæringen lærer du hvordan du oppdaterer programmet for å vise en feilside når en Ubehandlet unntak forekommer i søknaden. Oppgaven viser hvordan du håndterer feilene, samt hvordan du legger til sider i søknaden din og navigerer mellom dem. Dette innlegget er en del av vår Windows Phone-opplæringsserie.
1. Legg til en ny side i prosjektet. I Solution Explorer, høyreklikk på HelloPhone prosjektvalg, og Legg til Ny gjenstand. I Legg til nytt element dialog, velg Windows Phone Portrait Page fra listen over maler gitt, angi navnet til ErrorPage.xaml og klikk deretter Legg til.
2. I ErrorPage.xaml, finn LayoutRootNett element og erstatt barnets kontroller med den blå-markerte XAML-oppfølgeren. Denne XAML definerer en søknadstittel og en sidetittel, begge navngitte feil. Det definerer også a TextBlock objekt utpekt som x: Name =”ErrorText” som vil holde feilteksten fra eventuelle fremtidige unntak.
… … ?> var13 ->
3. Trykk på F7 for å åpne kode-bak-filen på den nye siden, eller høyreklikk ErrorPage.xaml i Solution Explorer og velg Vis kode. Deretter legger du inn følgende kodestykke i ErrorPage klasse på den fremhevede plasseringen. Dette setter opp en Unntak objekt som er bundet til 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. Etter det, koble til en hendelsehandler for å navigere til feilsiden og vise en feilmelding når et uhåndtert unntak oppstår. I Solution Explorer, Høyreklikk App.xaml og velg Vis kode å åpne koden bak klassen av applikasjon klasse.
5. Finn Application_UnhandledException hendelseshåndterer og sett inn følgende kodestykke på den fremhevede plasseringen umiddelbart før avsluttende brace. De Application_UnhandledException er et sikkerhetsnett hvor alle uhåndterte unntak av søknaden din ende opp. Nå kobler du unntaksobjektet til ErrorPage.Exceptionobjekt, og når du blar til feilsiden, tar det unntaksobjektets tekstverdi (Exception.ToString ();) og viser den på siden. Dette vil være svært nyttig når du begynner å feilsøke søknaden din på en ekte enhet.
// 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); }