Попробую объяснить логически. От противного. Сомневаюсь, что ты поймешь, но всё же. Исключения не только кидаются вручную. Но, бывает, порождаются сами. Если бы твой код действительно был нужен, то как быть с теми исключениями, которые бросаются кодом екстеншена? Свои допотопные константы ты туда не всунешь. Что - для таких исключений файл и строку узнать невозможно? Ты сам-то в это веришь? Ок, если не понимаешь теорию, попробуй привычным для себя методом - поищи такой идиотский код в репозиториях. Посмотри, как нормальные люди кидают исключения, и попробуй найти второго такого идиота, который пишет в throw магические константы.
АААААААААААА Жесть :) Это очень смешной коммент :) Он даже смешнее самого ответа, КАЖДЫЙ из трех пунктов которого неверен. Пытаясь прикрыться их авторитетом, ты на самом деле выставляешь своих коллег-разработчиков на посмешище, и даже не понимаешь этого. Надеюсь, у вас там не все такие, и ты там что-то вроде младшего помощника старшего подчищальщика комментариев. И кто-нибудь объяснит тебе, что код, который ты написал, выглядит, как, условно говоря, болид Формулы 1, к которому приделаны оглобли. Причем ты горячо доказываешь, что это высокотехнологичные пластиковые оглобли, и ваши телеги просто идеально с ними ездят. Не сомневаюсь. проблема в том, что болид - не телега. И оглобли ему не нужны.
дуралей, если ты не понял моего ответа (а поскольку ты ни одного исключения в жизни не видел, то и не поймешь) - это не значит, что он плохой. А вот писать о том, чего ты никогда не видел, и отвечать на вопрос, которого не можешь понять, все-таки не стоит. И строить из себя обиженную деточку - тоже. Пора становиться взрослым.
И откуда ты собрался брать "хорошие отзывы", наивный? На тостере? Где половина клиентов пишут ответы вообще не приходя в сознание, и вместо клиента толкают тебе сервер, а остальные на экспертов ну никак не тянут. Гугл хотя бы авторитетные страницы вверх выталкивает.
Выше - основное. Я буду рад, если ты хотя бы задумаешься над поставленным там вопросом. Теперь мелочи. Первое. Запомни на всю жизнь: если пойманное исключение "в действие не нуждается", то и ловить его НЕЛЬЗЯ. За такой код в нормальных местах учеников бьют по рукам. Линейкой. А ты, видать - мальчик, воспитанный говнокодерами. Переучивайся. Второе. Опять придется думать. КАКОЕ исключение ты собрался тут ловить? Приведи конкретный пример. Третье. "привычка работать с типами данных" - это и есть паранойя. Я понимаю, что многократные перепроверки и перестраховки, делаемые на автомате, в какой-то мере избавляют от необходимости думать - чего ты так не любишь. Но, к сожалению, код получается путь стабильным, но бессмысленным. Поэтому вместо очередной проверки лучше сесть и подумать - нужна ли она здесь. Учись потихоньку думать.
Я не тролль. Я человек, который сначала думает, а потом говорит. Редчайший тип. Ладно, все эти придирки к коду - это отдельная статья, я понимаю, что пользователь похапе без привычных бубнов и заклинаний - не пользователь. Но по основному вопросу ты так и не ответил. Не надо "подбирать термины". Просто опиши уязвимость и то, как твой код от нее защищает. Ты в состоянии это объяснить? В теории - должен. Ты же писал этот код. Но на практике, если ты хотя бы только начнешь формулировать принципы "защиты", тобой реализованной, ты сам начнешь понимать, что она не имеет ни малейшего смысла. И даже сейчас ты инстинктивно боишься задуматься. И вот это-то самое страшное - ты писал этот код не думая.