«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/01/23 09:39:13  №1333239 1
В каких случаях следует кидать RuntimeException а в каких LogicException?
В чем семантический смысл каждого из них?
Ответы: >>1333249 >>1333326
Аноним 2019/01/23 09:55:50  №1333263 2
Иногда бывают такие ситуации, когда происходит какая-то дичь, которая никогда не должна происходить.
Например, есть ланг-файл формата key=value.
Класс, отвечающий за мультиязычность пытается найти такой-то ключ, но его там не оказывается.
Такая хуйня является фатальным недостатком программы и возникает, если прогер забыл внести ключ в ланг-файл.
При таком раскаладе дальнейшее выполнение программы вообще не имеет смысла, ибо она как бы недоделана.

Какое исключение я должен кинуть в этом случае?

Я к тому, что есть исключения, которые НЕ НУЖНО ловить.
То бишь, если уж такое исключение возникло, то это знак для программиста, что в программе произошел полнейший пиздец и его надо исправить на уровне редактирования кода.

То бишь, это не какое-то "обычное" исключение, которое является лишь сигналом об ошибке и может быть нормально поймано.
Исключение типа отсутствия ключа в ланг-файле невозможно исправить никакими вменяемыми способами, кроме как блять добавить ключ в файл.

Склоняюсь к тому, чтобы кидать \RuntimeException или его потомка и вырубить в IDE обнаружение всех таких исключений, чтобы они не мозолили глаза.

Но тогда другой вопрос. Я же не один пишу все это говно.
Что если другие люди срут этими исключениями, не имея под ними ввиду неисправимые ошибки?
Тогда я скрою важную информацию и не буду учитывать то, что должен.

Не помню точно, но да, опять в этой яве исключение RuntimeException можно не ловить, что является исключением (лол) из общей ситуации, где ты обязан ловить все.
То есть если метод генерит такое исключение это как бы знак того, что все, пизда, приехали.
Ответы: >>1333326
Аноним 2019/01/23 10:53:36  №1333326 3
>>1333239
>>1333263
Экшепшены не нужны, это уже сказал тот, что выше.