Iterator-Interface implementieren mit Exception Handlung

Kenelope

Mitglied
Hallo zusammen,

ich versuche gerade meine eigene Iterator-Klasse zu schreiben, hänge aber am Exception Handlung, weil ich da noch nicht so viel Erfahrung hab.

Java:
package klassenbibliothek;

import java.io.BufferedReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.NoSuchElementException;

public class MyReader implements Iterator<String>
{
	BufferedReader reader;
	MyReader(BufferedReader myReader)
	{ 
		reader = myReader;
	}
	
	@Override
	public boolean hasNext()
	{
		try {
			return reader.ready();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	@Override
	public String next() 
	{
		try {
			return reader.readLine();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
Das return-Statement muss in einem try catch Block sein, aber dadurch habe ich Probleme (This method must return a result of type String) weil ja "ganz unten" letztendlich nichts zurückgegeben wird. Wie kann man das Problem hier beheben?

Viele Grüße

Kenelope
 
Zuletzt bearbeitet von einem Moderator:
Entweder wirfst du die Exception weiter oder du gibst einen "default" Wert zurück (zum Beispiel "null")

Java:
@Override
public String next() 
{
    try {
        return reader.readLine();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

@Override
public String next() 
{
    try {
        return reader.readLine();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
 

Neue Themen


Zurück
Oben