powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Не будет ли тут проблем?
12 сообщений из 12, страница 1 из 1
Не будет ли тут проблем?
    #39559525
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не будет ли тут проблем при кетче, если новый FirefoxDriver будет содан раньше, чем успеет отработать finally ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
while (true) {

    try {
		Thread.sleep(1_000);
	} catch (InterruptedException e) {
   }

    FirefoxDriver wd = new FirefoxDriver(firefoxOptions);

    try {
		main.run(wd);
	} catch (Exception e1) {
		e1.printStackTrace();
		continue;
	} finally {
		wd.quit();
	}

}
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559529
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
каких проблем ожидаете?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  public void quit() {
    // no-op if session id is null. We're only going to make ourselves unhappy
    if (sessionId == null) {
      return;
    }

    try {
      execute(DriverCommand.QUIT);
    } finally {
      sessionId = null;
      stopClient();
    }
}

Вам так критично ловить индивидуальные исключения?
В чём проблема обернуть в try/finally весь (большой) блок (любые) исключения которого вы не хотите выпускать наружу?
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559530
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174
Код: java
1.
2.
3.
    try {
		Thread.sleep(1_000);
	} catch (InterruptedException e) {   }

А за это вообще надо из рогатки расстреливать.
И за sleep вместо yield и за отказ от прерывания исполнения.
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559567
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovrema174
Код: java
1.
2.
3.
    try {
		Thread.sleep(1_000);
	} catch (InterruptedException e) {   }


А за это вообще надо из рогатки расстреливать.
И за sleep вместо yield и за отказ от прерывания исполнения.

Не спорю про проглоченное прерывание, но sleep чем не угодил? Если работаешь с WebUI - то бывает, что надо подождать некоторе эмпирическое время, чтобы тесты (или хаки) работали.
yield ничего не обещает, просто информирует, что мы не спешим.
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559571
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey TominBasil A. Sidorovrema174try {
Thread.sleep(1_000);
} catch (InterruptedException e) { }

А за это вообще надо из рогатки расстреливать.
И за sleep вместо yield и за отказ от прерывания исполнения.

Не спорю про проглоченное прерывание
хм, о чем вы тут говорите? нужно было обработать в кетче иксепшин?
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559591
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Alexey Tominпропущено...


Не спорю про проглоченное прерывание
хм, о чем вы тут говорите? нужно было обработать в кетче иксепшин?

Да. Как-то так:

Код: java
1.
2.
3.
4.
} catch (InterruptedException e) {
    Thread.currentThread().interrupt();
    return;
}
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559596
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin,

интересно, что этот момент, как правило, везде опускается, и можно встреить массу примеров с пустым кетчем на InterruptedException

видно не всегда в программе использется interrupt();, чтобы беспокоиться про это
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559604
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174интересно, что этот момент, как правило, везде опускается, и можно встреить массу примеров с пустым кетчем на InterruptedException

видно не всегда в программе использется interrupt();, чтобы беспокоиться про это

Просто в примерах пишут только код, нужный для поясления мысли. А детали опускаются.
Про interrupt описано в другом месте, там всё просто.
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559616
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174хм, о чем вы тут говорите? нужно было обработать в кетче иксепшин?Нет.
Его вообще не надо обрабатывать, т.к. по этому InterruptedException мы должны завершить работу.
Исключение - если мы хотим "красиво умереть". Тогда в обработчике можно сделать "предсмертные действия" и "как-то выйти".
Но и в этом случае никто не мешает перехватить InterruptedException в объемлющем коде.

Печатать трассу стека в этом и большинстве других случаев - отвратительное решение, т.к. вы печатаете никому ненужный мусор.
Трасса из дебрей селениума никому не интересна, а в вашем коде всегда будет одно и тоже место.
Поэтому, если вы хотите сообщить об исключении "внешнего кода" - напечатайте что-то вроде "loop XYZ in module ABC" (идентификация вашего кода) и getMessage() исключения. Можно ещё поработать с getCause().

Далее уже вкусовщина, но всё-таки, миллион итеараций - достаточно много, чтобы использовать цикл с шагом вместо бесконечного.
Дополнительное усовершенствование заключается в том, чтобы держать два счётчика - общий и "с исключениями". Для печати статистики, например, на каждой тысячной итерации.
Ещё можно урезать сообщения множественных однотипных исключений до "... exception ... repeted ... times".
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559620
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tominбывает, что надо подождать некоторе эмпирическое время, чтобы тесты (или хаки) работали.Бывает, но секунда больше похожа на "от балды и на всякий случай" вставленную паузу, чем на осмысленный выбор.
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559628
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

в данном случае секунда - это возможность завершиться всему с предыдущей итерации, и, возможно, она там не нужна, но я ее поставил... в каком-то смысле "от балды"
...
Рейтинг: 0 / 0
Не будет ли тут проблем?
    #39559629
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя нет, в моем коде задержка в том месте играет совсем другую, осмысленную роль, и, кстати, задержка переменная

но в контексте этого топика, это все-таки возможность завершиться всему с предыдущей итерации
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Не будет ли тут проблем?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]