В чем преимущество использования try {} catch {} по сравнению с if {} else {} - PullRequest
55 голосов
/ 16 марта 2009

Я переключаюсь с обычного mysql в php на PDO, и я заметил, что обычный способ проверки ошибок - это использование комбинации try / catch вместо комбинаций if / else.

В чем преимущество этого метода, могу ли я использовать один блок try / catch вместо нескольких вложенных блоков if / else для обработки всех ошибок на разных этапах (подключение, подготовка, выполнение и т. Д.)?

Ответы [ 12 ]

1 голос
/ 16 марта 2009

Полностью согласен с @Jared Updike

Обычно обработка исключений выполняется, когда пользователь почти ничего не знает об этом. С другой стороны, пользователь системы знает о том, что происходит внутри блока if-else.

например. Это должно быть предложение "else", которое показывает пользователя банкомата, сообщение "Недостаточно средств на банковском счете", когда его баланс низкий И это сообщение НЕ МОЖЕТ сидеть внутри блока "catch" по любой причине !!

0 голосов
/ 06 ноября 2018

Допустим, мы пишем код деления a / b, и произошел самый известный случай исключения, т. Е. Ошибка деления 0, как вы думаете, что можно сделать дальше? 1. Вы можете распечатать сообщение и выйти. 2. Вы можете распечатать сообщение и позволить пользователю повторно ввести значения и т. Д.

Бывают случаи, когда разные люди / поставщики хотят обрабатывать одно и то же исключение по-разному. Блок catch позволяет им делать это с легкостью. Если вам нужно изменить способ обработки определенного случая исключения, вам просто нужно изменить блок catch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...