Mit Swift oder ObjC Der Fehlercode ist im abgefangenen NSError enthalten
let e: NSError = NSError(domain: "unko", code: 931, userInfo: nil)
print(e.code) // <- 931
Wenn ich dagegen eine Ausnahme mit HttpURLConnection unter Android Java erhielt, wurde eine solche Meldung angezeigt. ``failed to connect to /...** (port *****): connect failed: ECONNREFUSED (Connection refused)``` Ich habe mich gefragt, ob dieses ECONNREFUSED einen Fehlercode in Excption hat, aber ich habe danach gesucht, aber getCode wie Swift()Es gibt keine solche Sache Eh, getLocalizedMessage()Ist es aus der Zeichenkette klassifiziert? Es ist so ein Idiot Ich hatte Probleme mit diesem Gefühl, aber ich war ein wenig süchtig, weil keine Informationen herauskamen, selbst wenn ich suchte #ich habe es gefunden
URL url = new URL("http://unko.com");
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect (); // Ausnahme kommt
Log.d("unko", "" + connection.getResponseCode());
Log.d("unko", "" + connection.getContentType());
} catch (Exception e) {
Log.w("unko", "" + ((ErrnoException) e.getCause()).errno);
} finally {
if (connection != null) {
connection.disconnect();
}
}
Ich habe den Code in diesem Teil
((ErrnoException) e.getCause()).errno // == 111
Dieser 111 scheint von Linux-Systemfehlern zu stammen Es besteht kein Zweifel, dass ich auch eine Nachricht wie ETIMEDOUT gesendet habe ...
Errors: Linux System Errors http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html
Übrigens hatten sie Konstanten definiert
OsConstants.ECONNREFUSED
Also habe ich den Fehlercode bekommen
Ja
#Zusammenfassung -Es ist ärgerlich, nur den Code zu nehmen -Ich habe es nicht richtig untersucht. Wenn es also eine andere Methode gibt, wird es ernst. -Java ist Mist
Recommended Posts