Действительно ли исключения в php так полезны?

3 дня назад я начал переписывать один из моих сценариев в ООП, используя классы в качестве практики, после того, как много прочитал о преимуществах использования ООП.

Сейчас я в замешательстве, погода, я должен использовать исключения или нет. Кажется, они делают мою работу тяжелее и дольше.

Мое приложение проверяет, были ли данные отправлены через запрос Ajax или нет, а затем использует эту информацию через скрипт.

Проверьте этот пример:

 /*
 * The older way
 */

if($ajaxEnabled) {
    $error = errorWrap('Ajax error');
} else {
    $error = errorWithBackLinkWrap('NoAjax error');
}

function doSomething() {
    if(empty($POST['name'])) {
            die($error);
    }
}

/* 
 * OOP way
 */

class someClass {
    private $_ajaxEnabled;

    public function doSomething() {
        try {
            if(!$this->_isDateValid()) {
                if($this->$_ajaxEnabled) {
                    throw new ajaxException('Ajax error');
                } else {
                    throw new noAjaxException('NOAjaxError');
                }
            }
        } catch(ajaxException $e) {
            echo $e->getErrorMessage();
        } catch(noAjaxException $e) {
            echo $e->getErrorMessage();
        }
    }
}

Этот код предназначен только для демонстрации проблемы, поэтому я знаю, что в нем есть несколько неопределенных функций :).

Поэтому, прежде чем начать работу, обработка ошибок была проще для меня, потому что мне нужно было только отобразить соответствующую ошибку.

Теперь, используя исключения, в каждой функции я должен сначала проверить тип соединения, а затем написать 2 функции catch для каждого сгенерированного исключения, что приводит к гораздо большему коду.

Я действительно новичок в ООП в php, так что, может быть, есть чище и лучший способ сделать это, не так ли?

Ответы на вопрос(9)

Ваш ответ на вопрос