Удаленный сервер возвратил ошибку 401. Как обработать? C#

Регистрация
15.04.2016
Сообщения
641
Благодарностей
105
Баллы
43
Здравствуйте
Такая проблема:
При не верном вводе лог/пасс в ВК появляется ошибка : "Удалённый сервер возвратил ошибку 401."
Моя задача её обработать и выдать сообщение : Доступ в аккаунт не получен! (Не верный лог/пасс или аккаунт не активен)

Как я пытался решить эту проблему?
Код:
//-----GET ЗАПРОС TOKEN----
string site = "https://oauth.vk.com:443/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username="+project.Variables["login"].Value+@"&password=" + project.Variables["pass"].Value;
string token;

try
    {
    HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(site);
    HttpWebResponse get = (HttpWebResponse)req.GetResponse();
    using (StreamReader stream = new StreamReader(get.GetResponseStream(), Encoding.UTF8))
        {
             token = stream.ReadToEnd();
        }
    //-----GET ЗАПРОС TOKEN----
    var regex_token = System.Text.RegularExpressions.Regex.Match(token, (@"(?<="":"").*(?="",)"));
    project.Variables["token"].Value = regex_token.ToString();
    }
catch (System.DivideByZeroException) //В случае ошибки
    {
        project.SendErrorToLog("Доступ в аккаунт не получен! (Не верный лог/пасс или аккаунт не активен)", true);
    }
Не помогло =с
 
Регистрация
15.04.2016
Сообщения
641
Благодарностей
105
Баллы
43
Копировал код с какого-то примера.
Нужно было заменить
Код:
catch (System.DivideByZeroException)
На
Код:
catch (System.Exception)
Т.к. мы обрабатываем не деление на 0 (зачем деление на 0 вынесли в параметры?), а ошибку.
Не заметил.

Мб кому-нибудь будет полезно...

Вопрос можно закрывать.
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Используй catch (WebException)
 
Регистрация
15.04.2016
Сообщения
641
Благодарностей
105
Баллы
43

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Я не могу ответить на вопрос про "Сбойное действие" и откуда оно берется у тебя. Ты же в блоке catch обрабатываешь ошибку, следовательно, у тебя в логе не должно выскакивать ничего, кроме твоего искусственно созданного оповещения об ошибке. Это уже к разработчикам зеннопостера, у меня по крайней мере если в блоке Catch нету ошибки, то все нормально отображается
Ещё можно в блоке catch сгенерировать ту же ошибку:

Код:
catch (WebException ex) //В случае ошибки
    {
        throw new WebException("Доступ в аккаунт не получен! (Не верный лог/пасс или аккаунт не активен)" + ex.Message);
    }
 
  • Спасибо
Реакции: KOPEECHKA.STORE
Регистрация
15.04.2016
Сообщения
641
Благодарностей
105
Баллы
43
Я не могу ответить на вопрос про "Сбойное действие" и откуда оно берется у тебя.
Написано, что выдается исключение (я его сам выдаю, в блоке if, если условие false).
Если я "Пауза 0" добавляю - лишних строк нет.
Спасибо за ответ.

Сейчас попробую другие блоки переделать, чтоб было catch.

Всё, проблема исчезла.
Спасибо @amyboose за помощь!
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)