Java und Exceptions

  • Hallo!!

    Habe n Problem mit Java. Als Aufgabe sollen wir eigene Exceptions schreiben und diese natürlich auch verwenden, was auch kein Problem ist. Mein Problem ist, dass meine Exception angeblich "never thrown in body of corresponding try statement" ist. Is wahrscheinlich irgendwas total bescheurtes, aber verstehe absolut nicht wodran das liegen kann!? Hab hier mal den Programm-Teil verkürzt eingefügt...

    Code
    try {
          temp = eingabe.lastIndexOf("-",eingabe.length()) + 1;
        }
    catch (keineParamterException k) { }


    ...Vielen Dank im Vorraus

  • Naja, die Fehlermeldung sagt ja eh schon alles. Wo genau wird denn keineParameterException im try-Block geworfen?

    Üblicherweise schaut ein try-catch so aus:

    Code
    try {
        /* ... */
        if(fehlerbedingung) {
            throw new MyException();
        }
        /* ... */
    }
    catch (MyException e) {
        /* ... */
    }

    Alternativ ist es möglich, dass in einer im try-Block aufgerufenen Methode die im catch-Block abgefangene Exception geworfen wird (bzw. die in den catch-Blöcken abgefangenen Exceptions, sind ja mehrere möglich). Wenn das aber nicht der Fall ist, erhältst du den von dir angesprochenen Compilerfehler.

  • ...hab das jetzt mal an ner anderen Stelle so probiert:

    Code
    if (geldtest()) 
          {
             aktuellerGeldbetrag = aktuellerGeldbetrag - getraenkePreis;
             meldungAusgeben("Ihre Coke");
             neuenGeldbetragAusgeben();
           }
     else throw new ZuWenigGeldException(aktuellerGeldbetrag, getraenkePreis);


    Trotzdem sagt mir der Compiler, das meine Exception unreported ist und das sie "caught or declared to be thrown" sein muss. Woher kommt der Fehler??

    Dankeschön nochmal im Vorraus...

  • Naja, schreib entweder ein try-catch drumrum oder "throws ZuWnigGeldException" in den Methodenkopf.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!