Ich habe eine Methode, die Proxys verwendet, um Informationen von einem Server abzurufen. Manchmal aufgrund einer schlechten Proxy ich SocketException
bekommen, SSLException
, SSLHandshakeException
oder ConnectException
Wiederholen bei einigen Ausnahmen rekursiv
ich die Methode wollen oben auf die Ausnahmen wiederholen, aber auf der IOException oder keine Ausnahme Ich möchte eine Zeichenfolge
zurückHier ist die Methode, ich konstruiert verschiedene Szenarien testen
public String getTest(int i, int current, int total)
{
String text = "";
try
{
if (i == 1)
throw new IOException();
else if (i == 2)
throw new SSLException("SSLEx");
else if (i == 3)
throw new SocketException();
else
text = "EVERYTHING GOOD";
}
catch (SSLException | SocketException re)
{
if (current < total)
{
System.out.println("Recalling " + current);
getTest(1, ++current, total);
}
}
catch (IOException ioe)
{
text = "HTTP ERROR";
}
catch (Exception e)
{
e.printStackTrace();
}
return text;
}
ich meine Testmethode aufrufen, indem
System.out.println(c.getTest(3, 0, 5));
Zunächst würde das Programm fangen ein SocketException
dann um 1 wiederholen vorbei, so kann ich einen funktionierenden Proxy emulieren, aber eine Antwort des Servers mit IOException
als i = 1
aber die Methode gibt nie den Text „HTTP ERROR“
Was muss ich ändern Damit dies wie erwartet funktioniert?
Ich habe versucht, Text von der Funktion http://pastebin.com/82GHJQBc Zuordnung und scheint jetzt zu arbeiten – Arya
Froh, es zu hören! – DeathByTensors