Ich habe ein Problem, wo ich Object toString() -Methode überschreiben muss, aber die ursprüngliche Methode wirft keine Ausnahmen. Ich verwende jedoch einen generischen Code, für den Ausnahmen ausgelöst werden müssen.Java - overriding Objekt toString() -Methode, aber ich muss Ausnahmen auslösen
public String toString() throws EmptyListException, InvalidPositionException
{
Position<Entry<E>> current = fList.first();
StringBuilder str = new StringBuilder();
for(int i = 0; i < size(); i++)
{
try
{
str.insert(str.length(), current.element().toString() + " ");
current = fList.next(current);
}
catch(Exception e){}
}
return str.toString();
}
Dies ist ein Teil von FavoriteList.java. Diese Ausnahmen müssen geworfen werden. Wenn es irgendeine Möglichkeit gibt, diese Ausnahmen irgendwie zu unterdrücken oder sie in der Methode zu finden, wäre das hilfreich.
Am Ende meiner Methode Header hat wie folgt aussehen:
public String toString()
{ content }
ich über die Beendigung Inhalt des Verfahrens ist es egal. Solange es kompiliert, geht es mir gut. Ich muss nur die Kopfzeile reparieren, aber ich kann keine Lösung finden. Vielen Dank im Voraus.
Es sieht so aus, als ob Sie bereits Ausnahmen mit diesem leeren Catch-Block unterdrücken, nicht wahr? Warum müssen sie * von 'toString()' geworfen werden? – David
Ich habe versucht, sie mit diesem leeren Catch-Block zu unterdrücken, aber es funktioniert nicht. Wenn ich es entferne, muss ich nur die Ausnahmen EmptyList und InvalidPosition werfen. – JRoge
Sieht aus wie 'fList.first()' diese Ausnahme auslöst, aber es ist nicht Teil des 'try/catch' Blocks ... warum? – Tom