Exceptionproblem beim StringTokenizer

Hallo,

bin am verzweifeln, da ich zu blöd bin eine vernünftige Exception zu werfen!

Die Methode nextToken() kann eine NoSuchElementException auslösen.

Aber irgendwie klappt das Abfangen nicht. Code kann kompiliert werden, aber ich bekomme die Meldung, dass dieser Teil eine unchecked or unsafe operation beinhaltet.

Folgendes Codefragment:
public void makeToken(String Input) throws NumberFormatException
{
StringTokenizer st = new StringTokenizer(Input);
String temp;

while(st.hasMoreTokens())
{
try
{
data.add(st.nextToken());
}
catch (NoSuchElementException e)
{
throw new NumberFormatException();
}
}
}

Danke im Voraus

Sebastian

Moien

Aber irgendwie klappt das Abfangen nicht. Code kann kompiliert
werden, aber ich bekomme die Meldung, dass dieser Teil eine
unchecked or unsafe operation beinhaltet.

uncheck und unsafe deutet nur auf einen cast hin. Das ist zu 95% ungefährlich.

data.add(st.nextToken());

Ich schätze es ist diese Zeile. Wie sieht die Definition von data aus ?

cu

Die Definition von data lautet:
private ArrayList data = new ArrayList();

Mir ist bewusst,dass die Exception von „nextToken()“ geworfen wird. Bloss das Abfangen klappt halt nicht.

Wegen der Bedingung in der While-Schleife [while(st.hasMoreTokens())]kann nichts passieren, aber es interessiert mich dennoch brennend wie man sowas abfängt.

Danke schonmal für die Mühen.

Sebastian

Immer noch keine Lösung gefunden
Hab alles mögliche probiert,aber eine Lösung ist immer noch nicht in sicht!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moien

Mir ist bewusst,dass die Exception von „nextToken()“ geworfen
wird. Bloss das Abfangen klappt halt nicht.

Die Meldung ist aber keine Exception sondern nur eine Compilerwarnung.

Beispiel:
Vector v = new Vector();
v.add(„test“);
String text = (String)v.get(0); v = new Vector();
v.add(„test“);
String text = (String)v.get(0);

Hallo,

du könntest doch einfach mal alle Exceptions abfangen:

} catch (Exception e) {
e.printStackTrace();
}

dann weisst du Bescheid.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
Die Methode nextToken() kann eine NoSuchElementException
auslösen.

Ja, aber auch nur dann, wenn keine Tokens mehr vorhanden sind.
Um die Exception zu erzwingen, duerftest du dann nur nextToken()
aufrufen ohne die Ueberpruefung mit hasMoreTokens().
Mit while(st.hasMoreTokens()) stellst du quasi sicher, dass nach
dem letzten Token eben nicht mehr in die Schleife gesprungen wird.
Somit wird auch keine NoSuchElementException augeloest.

Gruss
Patrick