Самое смешное здесь - это та легкость, с которой ты переходишь от "ой дядинька, это не мой код, я его просто скопировал и вообще не понимаю что он делает!!!" к "признай, что был неправ" :)
Ладно, ты меня развлек на сегодня, а теперь быстро в кровать, а то мамка заругает.
twobomb, все что ты говоришь "не за этот пример" - нам просто ересь, на которой печать ставить некуда :)
Ладно, оставлю тебя в покое, то ты сейчас заплачешь уже.
Он мешает в первую очередь тебе, потому что ты не понимаешь, что пишешь. И не хочешь учиться.
Вот ты пишешь, что это плохо когда скрипт умирает на половине выполнения (на самом деле это не так, но в данном случае не принципиально). И тут же сам пишешь код, который "убивает скрипт на половине выполнения". Зачем? Старайся мыслить логически. Без логики в программировании - никуда.
вот что ж вы все такие строптивые, и обожаете рассуждать о вещах, в которых не смыслите? :)
Не переживай ты за свою самооценку - не знать что-то совсем не стыдно, мы все учимся. Но вот настаивать на высказанной глупости, только чтобы соранить лицо - вот это как раз уже немножко стыдно.
Хотя у тебя конечно есть примерное понимание того, как делать правильно, но вот соединить его с конкретным примером своего кода знаний пока не хватает. А если посмотреть на него внимательно, то окажется, что
- try-catch не предотвращает ошибки. оно их ловит.
- Транзакции здесь никакой нет.
- никаких осмысленных "неких действий" твой try catch не производит - он делает рвно то же самое, что сделает сам РНР при включенном выводе ошибок.
Следовательно, твой код является бессмысленным самолетом из соломы.
Больше того, в РНР режим вывода ошибок можно отключить. и он тогда не будет вываливать все ошибки на экран. Но твой код это го не заметит, и продолжит это делать.
Следовательно, твой код не только бессмысленный но и вредный.
Так что убирай try-catch и будем перходить к остальным ритуалам :)
Для того, чтобы ты "узнал" про ошибку, надо сначала настроить PDO чтобы оно сообщало об ошибках.
Ты этого не сделал, и поэтому все последующие телодвижения с отловом исключения абсолютно бесполезны.
Больше того, для того чтобы вывелась информация об ошибке, не обязательно его ловить. Оно прекрасно выведется само.
Больше того, как раз на "продакшене" ловить и выводить ошибку ни в коем случае не следует. Ошибка должна логироваться. Причем опять же, РНР вполне может справиться с этим сам, без твоей помощи в виде try и catch.
Все наоборот :)
Белые люди всё заметят.
А вот твой самолет из соломы даже не пукнет.
Попробуй выполнить свой код с ошибкой в запросе, и потом расскажи что ты смог заметить.
Ну и в качестве дополнительного задания попробуй рассказать, на каком таком "продакшене" при ошибке скрипт должен вываливть все кишки базы данных пользователю.
Так и не взлетит, хотя и имитирует настоящий самолёт белого человека с использованем лучшего навоза и соломы.
Ну и много других ритуальных плясок без какой-бы то ни было практической пользы.
nokimaro, не нужно увлекаться фантазиями. Ни своими, ни чужими.
Старайся, чтобы твой ответ был осмысленным и, желательно, подкреплялся твоим собственным практическим опытом. А не представлял собой фантазии, единственная цель которых - желание удовлетворить бессвязный каприз автора вопроса.