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

  • Автор темы Автор темы socrobotic
  • Дата начала Дата начала

socrobotic

Client
Регистрация
14.02.2016
Сообщения
203
Реакции
88
Баллы
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 может это баг новой версии?
 
У меня почему то из кубика на 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. Это не ошибка, это исключение которое компилируется на другом уровне программы.
 
У меня почему то из кубика на c# выходит по зеленой ветке, когда я использую return null...
Как такое может быть?))
Версия Zennoposter 5.11.3.0 может это баг новой версии?
На простом примере проверял? Ну просто return null;
Только что проверил именно на этой версии зенки, все нормально выходит по неуспеху.
 
Чтобы делать выход по красной ветке нужно использовать конструкцию:
C#:
Развернуть Свернуть Копировать
throw new Exception("текст ошибки");
 
Чтобы делать выход по красной ветке нужно использовать конструкцию:
C#:
Развернуть Свернуть Копировать
throw new Exception("текст ошибки");
а что если я хочу выйти по ошибке но я не хочу чтобы шаб крашился, в логике шаблону у меня учитывается bad end, и там предполагаются еще кое какие действия, а шаблон их не выполняет...
 
а что если я хочу выйти по ошибке но я не хочу чтобы шаб крашился, в логике шаблону у меня учитывается bad end, и там предполагаются еще кое какие действия, а шаблон их не выполняет...
Если стрелку протянуть от неуспеха к нужному далее действию, то шаблон и не будет крашиться...
 
Чтобы делать выход по красной ветке нужно использовать конструкцию:
C#:
Развернуть Свернуть Копировать
throw new Exception("текст ошибки");
Что-то не работает эта штука. Шаб просто уходит в вечный цикл и виснет
"Получение списка локальных переменных Ссылка на объект не указывает на экземпляр объекта."

Версия 5.11.5.0. Хуже всего, что return null; выходит по зелёной...
 
Что-то не работает эта штука. Шаб просто уходит в вечный цикл и виснет
"Получение списка локальных переменных Ссылка на объект не указывает на экземпляр объекта."
это в код смотреть нужно, там try-catch видимо перед этим стоит, вот такая логика и получается. и это не из-за приведенного мной кода)


Версия 5.11.5.0. Хуже всего, что return null; выходит по зелёной...
А так и должно быть. Ранее если оно шло в красную - это было неправильно
 
там try-catch видимо перед этим стоит
Нету его в коде
А так и должно быть. Ранее если оно шло в красную - это было неправильно
То есть, ты хочешь сказать, что будет просто это (вышеприведёное) сообщение, а шаб повиснет навеки? И это нормально?
 
То есть, ты хочешь сказать, что будет просто это (вышеприведёное) сообщение, а шаб повиснет навеки? И это нормально?
Нет, при "return null" будет просто выход по зеленой ветке.

Нету его в коде
Я не любитель гадать по кофейной гуще
 
  • Оценить
Реакции: sydoow и doc
Я не любитель гадать по кофейной гуще
Смотри, пример
PHP:
Развернуть Свернуть Копировать
if (Tab1.URL=="https://zennolab.com/discussion/threads/return-null-vyxod-po-oshibke.38489/#post-298479") {
throw new Exception("Есть такое сообщение!");
   }
 
dSdQo6h.png





ppsjJd5.png
 
Так в чем вопрос ко мне тогда, если всё также?
Да не, к тебе претензий нету. Ты хороший парень (наверное), а вот этот Throw выёживается (сволочь), если в кубике есть и другие строки. Если поставить в отдельный кубик всё отрабатывает.
Надо понять, чё ему не нравится?
 
Да не, к тебе претензий нету. Ты хороший парень (наверное), а вот этот Throw выёживается (сволочь), если в кубике есть и другие строки. Если поставить в отдельный кубик всё отрабатывает.
Надо понять, чё ему не нравится?
Всякое разное может быть, но throw - это одна из базовых конструкций C#, она вряд ли может глючить) Надо искать в других строках что не так
 
  • Оценить
Реакции: Valiksim
Надо искать в других строках что не так
Судя по выдаваемой ошибке "Получение списка локальных переменных Ссылка на объект не указывает на экземпляр объекта.", он ищет какие-то "Локальные переменные". Непонятно зачем?
Но, может быть эти "переменные" и не связаны с данным кодом?

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

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