return null - выход по ошибке!?!?

socrobotic

Client
Регистрация
14.02.2016
Сообщения
203
Благодарностей
86
Баллы
28
У меня почему то из кубика на c# выходит по зеленой ветке, когда я использую return null...
Как такое может быть?))

PHP:
            if (!Tab1.FindElementByXPath("//div[contains(@class, 'log-reg')]/a[2]",0).IsVoid) {
                Tab1.FindElementByXPath("//div[contains(@class, 'log-reg')]/a[2]",0).Click();
                Tab1.WaitDownloading();
                Tab1.FindElementByXPath("//input[contains(@class, 'bbcodes')]",0).Click();
                Tab1.WaitDownloading();
                project.Variables["YT_login"].Value = strLogin;
                project.Variables["YT_pass"].Value = strPass;
                string strEmailName = new Regex(@".*(?=@)").Match(strLogin).Value;
                Tab1.FindElementByXPath("//input[@name='name']",0).SetValue(strEmailName, "Miidle");
                string Proverka = Tab1.FindElementByXPath("//input[@name='name']",0).GetValue();
                if (Proverka==string.Empty) Tab1.FindElementByXPath("//input[@name='name']",0).SetValue(strEmailName, "Full");
                Tab1.FindElementByXPath("//input[@id='password1']",0).SetValue(strPass,"Middle");
                Tab1.FindElementByXPath("//input[@id='email']",0).SetValue(strLogin,"Middle");
                return null;
            }
upload_2017-6-15_16-47-19.png
Версия Zennoposter 5.11.3.0 может это баг новой версии?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 270
Благодарностей
5 854
Баллы
113
У меня почему то из кубика на c# выходит по зеленой ветке, когда я использую return null...
Как такое может быть?))

PHP:
            if (!Tab1.FindElementByXPath("//div[contains(@class, 'log-reg')]/a[2]",0).IsVoid) {
                Tab1.FindElementByXPath("//div[contains(@class, 'log-reg')]/a[2]",0).Click();
                Tab1.WaitDownloading();
                Tab1.FindElementByXPath("//input[contains(@class, 'bbcodes')]",0).Click();
                Tab1.WaitDownloading();
                project.Variables["YT_login"].Value = strLogin;
                project.Variables["YT_pass"].Value = strPass;
                string strEmailName = new Regex(@".*(?=@)").Match(strLogin).Value;
                Tab1.FindElementByXPath("//input[@name='name']",0).SetValue(strEmailName, "Miidle");
                string Proverka = Tab1.FindElementByXPath("//input[@name='name']",0).GetValue();
                if (Proverka==string.Empty) Tab1.FindElementByXPath("//input[@name='name']",0).SetValue(strEmailName, "Full");
                Tab1.FindElementByXPath("//input[@id='password1']",0).SetValue(strPass,"Middle");
                Tab1.FindElementByXPath("//input[@id='email']",0).SetValue(strLogin,"Middle");
                return null;
            }
Посмотреть вложение 21386
Версия Zennoposter 5.11.3.0 может это баг новой версии?
Лучше не выходить по return null. Это не ошибка, это исключение которое компилируется на другом уровне программы.
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
823
Баллы
93
У меня почему то из кубика на c# выходит по зеленой ветке, когда я использую return null...
Как такое может быть?))
Версия Zennoposter 5.11.3.0 может это баг новой версии?
На простом примере проверял? Ну просто return null;
Только что проверил именно на этой версии зенки, все нормально выходит по неуспеху.
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113
Чтобы делать выход по красной ветке нужно использовать конструкцию:
C#:
throw new Exception("текст ошибки");
 

sydoow

Client
Регистрация
22.06.2011
Сообщения
281
Благодарностей
144
Баллы
43

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113
  • Спасибо
Реакции: frion-seo и justhelen

socrobotic

Client
Регистрация
14.02.2016
Сообщения
203
Благодарностей
86
Баллы
28

socrobotic

Client
Регистрация
14.02.2016
Сообщения
203
Благодарностей
86
Баллы
28
Чтобы делать выход по красной ветке нужно использовать конструкцию:
C#:
throw new Exception("текст ошибки");
а что если я хочу выйти по ошибке но я не хочу чтобы шаб крашился, в логике шаблону у меня учитывается bad end, и там предполагаются еще кое какие действия, а шаблон их не выполняет...
 

Metrix

Client
Регистрация
03.01.2014
Сообщения
343
Благодарностей
272
Баллы
63
а что если я хочу выйти по ошибке но я не хочу чтобы шаб крашился, в логике шаблону у меня учитывается bad end, и там предполагаются еще кое какие действия, а шаблон их не выполняет...
Если стрелку протянуть от неуспеха к нужному далее действию, то шаблон и не будет крашиться...
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Чтобы делать выход по красной ветке нужно использовать конструкцию:
C#:
throw new Exception("текст ошибки");
Что-то не работает эта штука. Шаб просто уходит в вечный цикл и виснет
"Получение списка локальных переменных Ссылка на объект не указывает на экземпляр объекта."

Версия 5.11.5.0. Хуже всего, что return null; выходит по зелёной...
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113
Что-то не работает эта штука. Шаб просто уходит в вечный цикл и виснет
"Получение списка локальных переменных Ссылка на объект не указывает на экземпляр объекта."
это в код смотреть нужно, там try-catch видимо перед этим стоит, вот такая логика и получается. и это не из-за приведенного мной кода)


Версия 5.11.5.0. Хуже всего, что return null; выходит по зелёной...
А так и должно быть. Ранее если оно шло в красную - это было неправильно
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
там try-catch видимо перед этим стоит
Нету его в коде
А так и должно быть. Ранее если оно шло в красную - это было неправильно
То есть, ты хочешь сказать, что будет просто это (вышеприведёное) сообщение, а шаб повиснет навеки? И это нормально?
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113
То есть, ты хочешь сказать, что будет просто это (вышеприведёное) сообщение, а шаб повиснет навеки? И это нормально?
Нет, при "return null" будет просто выход по зеленой ветке.

Я не любитель гадать по кофейной гуще
 
  • Спасибо
Реакции: sydoow и doc

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 602
Баллы
113
Там нибось на кубике необязаловка стоит
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 602
Баллы
113
необязательное выполнение
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Так в чем вопрос ко мне тогда, если всё также?
Да не, к тебе претензий нету. Ты хороший парень (наверное), а вот этот Throw выёживается (сволочь), если в кубике есть и другие строки. Если поставить в отдельный кубик всё отрабатывает.
Надо понять, чё ему не нравится?
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 859
Баллы
113
Да не, к тебе претензий нету. Ты хороший парень (наверное), а вот этот Throw выёживается (сволочь), если в кубике есть и другие строки. Если поставить в отдельный кубик всё отрабатывает.
Надо понять, чё ему не нравится?
Всякое разное может быть, но throw - это одна из базовых конструкций C#, она вряд ли может глючить) Надо искать в других строках что не так
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Надо искать в других строках что не так
Судя по выдаваемой ошибке "Получение списка локальных переменных Ссылка на объект не указывает на экземпляр объекта.", он ищет какие-то "Локальные переменные". Непонятно зачем?
Но, может быть эти "переменные" и не связаны с данным кодом?

P.S. Ага, "ошибка" ПМ.
Если ставлю "брекпоинт" - тогда и вылазеет данное сообщение. если нет брекпоинта, всё отрабатывает
Спасибо всем за участие и подсказки.
 

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