Size: a a a

2021 January 02

А

Алексей in learn.java
Gukov Viktor
Приведенный пример с массивом плохой кейс для использования try catch
Ну я, разумеется, про озвученный тут кейз
источник

А

Алексей in learn.java
Но если это пример для изучения трай кетч файналли, то сойдет
источник

L2

LDev 21 in learn.java
Алексей
Вообще такого рода ошибки, если тебе нужно чтобы код продолжил работать, а не просто словил ошибку, то лучше их самому обрабатывать. Например, проверить индекс, не выходит ли за размеры массива если выходит, то задать новую длину массиву
Допустим, блоком catch эта ошибка обработается, но какой в этом смысл, если следующие строки в try выполняться не будут, а произойдет выход из метода?
источник

А

Алексей in learn.java
LDev 21
Допустим, блоком catch эта ошибка обработается, но какой в этом смысл, если следующие строки в try выполняться не будут, а произойдет выход из метода?
Этот механизм не для исправления ошибок
источник

L2

LDev 21 in learn.java
А для продолжение работы программы?
источник

L2

LDev 21 in learn.java
Но для чего тогда ошибка обрабатывается. Чтобы не было последствий в дальнейшем ходе работы программы?
источник

GV

Gukov Viktor in learn.java
LDev 21
Но для чего тогда ошибка обрабатывается. Чтобы не было последствий в дальнейшем ходе работы программы?
Чтобы у тебя программа не упала в рантайме, и продолжала работу
источник

А

Алексей in learn.java
LDev 21
А для продолжение работы программы?
Если его не будет, то произойдет выход из программы
источник

L2

LDev 21 in learn.java
Я понимаю, что блок catch для этого, но этот же блок тогда просто можно оставить пустым? Но знаю, что не рекомендуется
источник

А

Алексей in learn.java
На таких примерах это не очевидно, а если взять веб сервер, например, то без кетчей сервер будет стопится
источник

А

Алексей in learn.java
LDev 21
Я понимаю, что блок catch для этого, но этот же блок тогда просто можно оставить пустым? Но знаю, что не рекомендуется
Можно
источник

А

Алексей in learn.java
Но как ты собираешься узнавать что и где у тебя не так?
источник

L2

LDev 21 in learn.java
Алексей
Но как ты собираешься узнавать что и где у тебя не так?
Т.е в кетче я фактически не исправляю ошибку, а фиксирую её, и в зависимости от её наличия определяю дальнейшее поведение программы
источник

GV

Gukov Viktor in learn.java
LDev 21
Я понимаю, что блок catch для этого, но этот же блок тогда просто можно оставить пустым? Но знаю, что не рекомендуется
Это абсолютно нелогично. Исключения в джава делятся на проверяемые и непроверяемые. Проверяемые нужно перехватывать в принудительном порядке, так как зачастую они возникают при доступе к внешним ресурсам, которые зачастую могут быть недоступны. В таком случае нужно понять, что не так и сказать об этом клиенту.

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

GV

Gukov Viktor in learn.java
Ты не должен исправлять ошибки исключения, так как зачастую не владеешь всей необходимой информацией для ее корректного исправления. Поэтому зачастую необходимо залогировать и либо корректно завершить программу, либо вернуть клиенту управление откатив состояние
источник

L2

LDev 21 in learn.java
Понял, спасибо. Казалось бы, очевидные вещи и интуитивно к ним можно самим придти. Но после армии логика накрылась, приходится восстанавливать глупыми вопросами)
источник

LK

Leonid Kharin in learn.java
подскажите пожалуйста, как можно создать миллион задач и передать их executor
источник

Lr

Larymar r.sorokin in learn.java
Leonid Kharin
подскажите пожалуйста, как можно создать миллион задач и передать их executor
В цикле, но от миллиона вообще смвсьа никакого
источник

LK

Leonid Kharin in learn.java
Larymar r.sorokin
В цикле, но от миллиона вообще смвсьа никакого
они же будут создаваться последовательно, а executor уже сам их будет по потокам распределять я правильно же понимаю
источник

Э

Эд in learn.java
Leonid Kharin
подскажите пожалуйста, как можно создать миллион задач и передать их executor
так и сделать) в чём проблема?
источник