Вопрос по оформлению - отлова ошибок - избежание вылетов

248
02 ноября 2021, 13:30

Кодинг не профессия и поэтому не читал и не смотрел как и кто что то оформляет - делает. Просто хобби - понимаю что делают переменные и всякие условия, а различные библиотеки можно посмотреть - что делают там классы - методы и т.д.

А тут попросили кое что на сторону сделать впервые! - не для себя и стал задумываться xD Так вот вопрос - это нормально вот так избегать ошибки) - оформлять ? или это отврат ? или забить на эти моменты и делать чтобы главное работало ?

// Отлов элемента по xpatch и клик по элементу c помощью JS | True - клик удался | False - клик не удался 
private bool clickOnInvisibleElement(string xpath, IWebDriver Browser)
{
    try
    {
        WebDriverWait ss = new WebDriverWait(Browser, TimeSpan.FromSeconds(10));
        IWebElement elem = ss.Until(ExpectedConditions.ElementIsVisible(By.XPath(xpath)));
        String script = "var object = arguments[0];"
                + "var theEvent = document.createEvent(\"MouseEvent\");"
                + "theEvent.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);"
                + "object.dispatchEvent(theEvent);"
                ;
        IJavaScriptExecutor jsDriver = Browser as IJavaScriptExecutor;
        jsDriver.ExecuteScript(script, elem);
        return true;
    }
    catch (Exception)
    {
        return false;
    }
}
Answer 1

Такой отлов ошибки это одна из самых плохих вещей, которые можно придумать. Хуже только так

private void clickOnInvisibleElement(string xpath, IWebDriver Browser)
{
    try
    {
        .............
        IJavaScriptExecutor jsDriver = Browser as IJavaScriptExecutor;
        jsDriver.ExecuteScript(script, elem);
    }
    catch (Exception) {}
}

вы теряете всю информацию об ошибке. Если вы можете корректно обработать исключение, вы его обрабатываете. Если нет, то пусть обрабатывает вызывающий код.

Иначе у вас возникнет ситуация, когда программа не работает и непонятно почему.

READ ALSO
открытие файла с базы данных SQL Server

открытие файла с базы данных SQL Server

Такая ситуация, я загоняю файл в базу данных

295
Задание связанное с CharArray C#

Задание связанное с CharArray C#

Помогите сделать задание, очень нужноВот условие: Задан текст, состоящий из произвольной последовательности буквенных символов

96
Ошибка при создании файла в любой папке

Ошибка при создании файла в любой папке

Пытаюсь создать файл на диске D:\NewFolder\imagejpg, система доходит до создания

171
Многопоточная запись File.AppendAllText()

Многопоточная запись File.AppendAllText()

Если этот метод будет выполняться в многопоточном режиме - не будет ли возникать исключение "Этот процесс занят другим процессом" ?

161