Java Conitnue For-Schleife nach Exception

Crashdowns

Ensign
Registriert
Juni 2010
Beiträge
138
Einen schönen guten Tag euch allen.
Folgendes Problem bereitet mir Kopfschmerzen.

Mein Programm soll von einem FTP-Server (meiner) Daten downloaden. Die zu ladenden Daten stehen in einer ArrayList(Strings) und werden nach folgendem Schema aufgebaut:
PHP:
ftp.blublbubbb.com/ <hier kommt der String aus ArrayList rein> /blubblzubbbbbbb
downloaden tue ich das ganze dann mit einer for Schleife.

Leider kommt es vor dass gelegentlich HTTP XXX Fehler auftreten. Wie mache ich es am besten, dass man einfach mit dem nächsten Wert der ArrayList fortfährt?

PHP:
for (int i = 0; i < symbolListe.size(); i++){
		String tempString = symbolListe.get(i);
		downloaderCSV("Dates", tempString, "Jan+1,1990", "Jan+04,2012");
		System.out.println("counter: " + i);
}
 
Sollte gehen, indem du innerhalb der For-Schleife einen try-catch Block einfügst und da das Downloaden übernimmst. Wenn jetzt eine Exception kommt kannst du diese abfangen (achte darauf dass diese mittels "throws Exception" von der Downloader-Klasse auch weitergeleitet werden) und das Downloaden z.B. noch mal probieren.

Code:
for (int i = 0; i < list.size(); i++) {
  try {
    Downloader.download(list.get(i));
  } catch (Exception e) { ... }
}
 
Code:
for (int i = 0; i < symbolListe.size(); i++){
		String tempString = symbolListe.get(i);
		try {
                      downloaderCSV("Dates", tempString, "Jan+1,1990", "Jan+04,2012");
		} catch(Exception e)  {
                      // fehler behandlung
                 }
                System.out.println("counter: " + i);
}

? Sollte doch genau das sein was du willst? geht doch schon aus dem titel hervor
 
Am einfachsten mit einem try/catch block ;-)

Im catch kannst du dann dir vllt. den Dateinamen und die Exeption loggen oder was auch immer.


edit: damn to late :P
 
ok, das war so simple das ich gar nicht auf die idee gekommen bin;) ich danke euch für die schnelle hilfe!
 
aber wäre es nicht sinnvoll mal nachzuverfolgen wieso ab und an eine HTTP Exception auftritt?
Und es wäre wohl auch sinnvoll wenn man nicht runtergeladene Objekte beim Fehler noch einmal lädt oder? Wäre super per rekursion machbar.
Aber hauptsächlich würde ich mal gucken wieso die Connection ab und an fehlschlägt, im sinne des erfinders ist das ja scher nicht.

Und wieso kommt bei einem FTP Zugriff eine HTTP Fehlermeldung, da kann doch was nicht ganz stimmen?
 
PHP:
for  (String symbol : symbolList) {
	try {
		downloaderCSV("Dates", symbol, "Jan+1,1990", "Jan+04,2012");
	} catch(Exception e) {
		System.err.println(e);
		continue;
	}
}
 
Zuletzt bearbeitet:
Zurück
Oben