Avec Swift ou ObjC Le code d'erreur est inclus dans le NSError intercepté
let e: NSError = NSError(domain: "unko", code: 931, userInfo: nil)
print(e.code) // <- 931
En revanche, lorsque j'ai reçu une exception avec HttpURLConnection sur Android Java, un tel message était affiché. ``failed to connect to /...** (port *****): connect failed: ECONNREFUSED (Connection refused)``` Je me suis demandé si cet ECONNREFUSED avait un code d'erreur dans Excption, mais je l'ai cherché, mais getCode comme Swift()Il n'y a pas une telle chose Eh, getLocalizedMessage()Est-il classé à partir de la chaîne de caractères? C'est un tel imbécile J'avais des problèmes avec ce sentiment, mais j'étais un peu accro car aucune information ne sortait même si je cherchais #je l'ai trouvé
URL url = new URL("http://unko.com");
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect (); // Exception à venir
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();
}
}
J'ai le code dans cette partie
((ErrnoException) e.getCause()).errno // == 111
Ce 111 semble provenir d'erreurs système Linux Il ne fait aucun doute que j'ai également envoyé un message tel que ETIMEDOUT ...
Errors: Linux System Errors http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html
Au fait, ils avaient des constantes définies
OsConstants.ECONNREFUSED
Alors j'ai le code d'erreur
Oui
#Résumé -C'est ennuyeux de prendre le code -Je ne l'ai pas étudié correctement, donc s'il y a une autre méthode, ce sera grave. -Java est de la bouse
Recommended Posts