Eigene Exception Klasse



  • Hallo.

    Ich habe verschiedene Klassen, einige Funktionen werfen eine Exception. Ich möchte in bestimmten Fällen in meiner JFrame(Gui) Klasse einen Fehlertext ausgeben.

    Nun meine Idee 1 : In der GUI Klasse alle Expctepions abfangen und dann entsprechend eine Message ausgeben.

    Nun meine Idee 2 : eine Globale Exception Klasse , die alle Fehler abfängt und dann die Gui dazu aufruft einen Text auszugeben.

    Was würdet ihr bevorzugen bzw habt ihr noch andere Ideen ???



  • Wie soll Idee 2 überhaupt funktionieren?

    Ich würde der GUI eine Methode verpassen, die den Fehlertext anzeigt und die Exceptions frühestmöglich in der GUI abfangen, also z.B. im ActionListener eines Buttons. Im catch kannst du dann die Methode zu Fehleranzeige aufrufen.



  • @Dasd
    Das geht xD ^^ Aber ich werde mal nicht verraten wie. Denn mir wurde gesagt das wäre auf deutsch gesagt scheiß stiel.
    Wenn er trotzdem wissen will wie es gehen könnte: Ich habe nen projekt im Projektebereich.
    Sources sind drin.

    EDIT: Ich frage mich eher wie nr 1 gehen soll...



  • Sqwan schrieb:

    EDIT: Ich frage mich eher wie nr 1 gehen soll...

    Vererbung.



  • und wie fängt die gui klasse die exception die Klasse xyz wirft ab?
    kannst du das etwas genauer ausführen...

    Das was du glaube ich im Kopf hast geht auch ohne

    try{
        something.do();
    }
    catch(AnyException e)
    {
         someFrameContainer.setText(e.getText());
    }
    


  • Sqwan schrieb:

    und wie fängt die gui klasse die exception die Klasse xyz wirft ab?

    So wie es jede andere Klasse auch anstellen würde.

    try {
      stream.read();
    } catch(IOException ex) {
      // z.B. Fehlerdialog anzeigen (JOptionPane?), Fehlerbehebung anbieten, etc.
    }
    

    Idee 2 vergiss mal bitte ganz schnell, das ist pure Pornographie. Ansonsten solltest du Exceptions immer an der Stelle abfangen, an der ein Fehler noch behoben werden kann bzw. an der das nicht mehr geht und der Benutzer informiert werden soll.



  • Wobei noch anzumerken ist, dass dir dank Checked Exceptions an einigen Stellen (bspw. Library-Grenzen) oftmals gar keine andere Wahl bleibt als so eine Sammel-Exception zu werfen da du sonst die Implementierung preisgeben musst bzw. eine nachträgliche Änderung der Implementierung nicht mehr möglich ist.

    MfG SideWinder


Anmelden zum Antworten