Получение исключения «InvocationTargetException» для строки драйвера = new ChromeDriver (); - PullRequest
1 голос
/ 25 апреля 2019

Я открываю Chromebrowser и получаю исключение "InvocationTargetException". Код работал правильно несколько дней назад. Вот мой код

System.setProperty("webdriver.chrome.driver","D:\\Automation\\chromedriver_win32\\chromedriver.exe");
driver=new ChromeDriver();

На линии "driver=new ChromeDriver();" Я получаю "InvocationTargetException" Исключение

1 Ответ

1 голос
/ 25 апреля 2019

InvocationTargetException

InvocationTargetException - это проверенное исключение, которое переносит исключение, выданное вызванным методом или конструктором.Это дополнительный уровень абстракции, вызывающий метод с отражением.Отражающий слой оборачивает любое исключение в InvocationTargetException.«Целевое исключение», которое предоставляется во время строительства и доступно с помощью метода getTargetException(), теперь известно как причина, и к нему можно обратиться с помощью метода Throwable.getCause(), так кака также вышеупомянутый «унаследованный метод».

Решение

Наилучшим подходом было бы развернуть причину в InvocationTargetException, чтобы получить исходное исключение.

try {

        System.setProperty("webdriver.chrome.driver","D:\\Automation\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver=new ChromeDriver();

} catch (InvocationTargetException e) {
        // the real cause
        e.getCause().printStackTrace();

} catch (Exception e) {
        // generic exception handling
        e.printStackTrace();
}

Передовой опыт

В соответствии с передовым опытом следуйте приведенным ниже рекомендациям:

...