URL.openConnection() - keine Exception trotz ungültiger URL?

  • 2 Antworten
  • Neuester Beitrag
Diskutiere URL.openConnection() - keine Exception trotz ungültiger URL? im Android App Entwicklung im Bereich Betriebssysteme & Apps.
U

user7

Neues Mitglied
Hallo,

ausnahmsweise mal eine Frage zu einem Fehler, der NICHT auftaucht... ;-)

Ich baue mit URL.openConnection eine Verbindung auf - und bekomme keinen Fehler, auch wenn ich Unsinn wie "http://u,,,jmirks" als URL angebe. Hab ich irgendwas vergessen?

Viele Grüße,
user7


Code:
try {
        	
	//URL auslesen
	serverURL = new URL(settings.getString("ServerURL", getString(R.string.set_edit_url)));
	
	Toast.makeText(getApplicationContext(), serverURL.toExternalForm(), Toast.LENGTH_SHORT).show();
	
	//Verbindung aufbauen
	urlConnection = (HttpURLConnection) serverURL.openConnection();
	
	if(urlConnection == null) Toast.makeText(getApplicationContext(), "keine Exception", Toast.LENGTH_SHORT).show();

	//erfolgreiche Verbindung - diese Nachricht kommt immer!
	Toast.makeText(getApplicationContext(), getString(R.string.con_notify_consuccess), Toast.LENGTH_SHORT).show();
 	
			
	} catch (MalformedURLException e) {
		// Fehlermeldung
		Toast.makeText(getApplicationContext(), 
				getString(R.string.con_notify_badurl), Toast.LENGTH_SHORT).show();
		e.printStackTrace();
	}
	 catch (IOException e) {
		// Fehlermeldung
		Toast.makeText(getApplicationContext(), 
				getString(R.string.con_notify_confail), Toast.LENGTH_SHORT).show();
		e.printStackTrace();
	}
	 finally {
		 //Verbindung trennen
		 if(urlConnection != null) urlConnection.disconnect();
		 
	   }
 
DieGoldeneMitte

DieGoldeneMitte

Experte
Deine URL ist nicht malformed, der DNS Lookup klappt nicht. Weil einige schlauen DNS Server dann nicht - wie es sich nach RFC gehört - eine Fehlermeldung liefern, sondern lieber auf einen Fallback/Werbe Server verweisen, gibt es keine Exception, sondern Du kriegst die Homepage dieses Servers.
 
U

user7

Neues Mitglied
Wow, darauf wär ich nie allein gekommen... riesigen Dank! :)