Announcement

Collapse
No announcement yet.

MVVM Errorhandling

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MVVM Errorhandling

    Hallo,

    meine Frage wäre folgende: In der App.xaml.cs wird ja wie folgt geladen:

    Window()

    ViewModel()

    Window.DataContext = ViewModel();

    Window.Show();

    So. Wenn ich nun einen Fehler in der MainViewModel()-Methode habe, wie wäre es am besten diesen Fehler zu behandeln und die Anwendung zu beenden? Mein Problem ist nämlich: Wenn ich den Fehler abfange, und die Anwendung beenden möchte klappt das nicht, da ja wie oben gezeigt das Window.Show() trotzdem eintritt. Auch wenn ich das ViewModel herunterfahren möchte.

    Vielleicht hatte so ein problem schon jemand. Danke!

    MfG
    Die Taschenlampe!

    Die perfekte Taschenlampe für Ihr Windows Phone!

    - Die APP steuert die echte Blitz-LED an und versorgt Sie mit 100% Leistung!
    - Zudem zeigt die Live-Kachel den aktuellen Akkustand des Telefons an!


    Hier gehts zu APP!

  • #2
    Try Catch drumrum bauen?

    Code:
    try
    {
      Window()
    
      ViewModel()
    
      Window.DataContext = ViewModel();
    
      Window.Show();
    }
    catch(Exception ex)
    {
      // gib eine Fehlermeldung aus
    }
    Alternativ ginge warscheinlich auch:

    Code:
    try
    {
      Window()
    
      ViewModel()
    
      Window.DataContext = ViewModel();
    
      Window.Show();
    }
    catch(Exception ex)
    {
      ErrorWindow()
    
      ErrorViewModel(ex)
    
      ErrorWindow.DataContext = ErrorViewModel();
    
      ErrorWindow.Show();
    }
    Bin aber kein WPF Spezialist

    Comment


    • #3
      Ja Manchmal.... Denken ist glückssache! Danke!
      Die Taschenlampe!

      Die perfekte Taschenlampe für Ihr Windows Phone!

      - Die APP steuert die echte Blitz-LED an und versorgt Sie mit 100% Leistung!
      - Zudem zeigt die Live-Kachel den aktuellen Akkustand des Telefons an!


      Hier gehts zu APP!

      Comment


      • #4
        Hi,

        ich möchte meine Frage nochmal etwas erweitern, da ich was dazugebaut habe.
        Die Dispatcher.UnhandledException fähnt unbehandelte Exceptions ab. Leider wird die Methode nur im Release aufgerufen. Im Debugger kommt immer die Meldung ("Exeption von Benutzer unbehandeltem Code" oder so ähnlich) und das Programm wird an der Stelle unterbrochen.

        Wie gesagt: Das Release verhält sich dann richtig. Kann man das ändern?

        MfG
        Die Taschenlampe!

        Die perfekte Taschenlampe für Ihr Windows Phone!

        - Die APP steuert die echte Blitz-LED an und versorgt Sie mit 100% Leistung!
        - Zudem zeigt die Live-Kachel den aktuellen Akkustand des Telefons an!


        Hier gehts zu APP!

        Comment


        • #5
          Du meinst wahrscheinlich nicht 'der debug build verhält sich ander als der release build' sondern eher sobald ein Debugger attached ist (wie zum Beispiel Visual Studio) dann verhält es sich anders. Und das ist korrekt. Du willst ja debuggen und darum möchtest du wenn ein Exception auftritt auch wissen wo darum hält der Debugger standardmäßig an der entsprechenden Stelle. Wenn du das genauer einstellen oder anders willst sieh dir den Exceptionsdialog an. Unter Debug/Exceptions im Menü oder über CTRL+D,E. Da kannst du einstellen wie sich der Debugger Verhalten soll (je Exceptiontyp).

          Comment

          Working...
          X