Я делаю что-то вроде:
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setConnectTimeout(10*1000);
urlConnection.setReadTimeout(10*1000);
urlConnection.setUseCaches(false);
DataInputStream dis = new DataInputStream(urlConnection.getInputStream());
, чтобы получить строку JSON в url
.
. Это прекрасно работает, когда введенные мной учетные данные аутентификации верны и установлены с помощью
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(loginNameString, passwordString.toCharArray());
}
});
Тем не менее, когда я намеренно предоставляю неверные учетные данные, запрос, конечно, не выполняется, но приложение в конечном итоге просто перестает работать;где и как я могу обработать это событие, чтобы уведомить пользователя и вернуть ему контроль - есть ли ловушка?
** Правка - я поместил System.out.println("hello!");
в моем getPasswordAuthentication()
переопределении;это вызывается снова и снова даже после нескольких сбоев из-за неверных учетных данных.