• Ошибки с помощью Exception или строки?

    @durden_tailer Автор вопроса
    Максим, благодарю!
    Уже подумал, начал рефакторинг (в связи с чем и задал вопросы на Тостер).
    Пока с переменным успехом :)
  • Ошибки с помощью Exception или строки?

    @durden_tailer Автор вопроса
    Максим, Да я понимаю :)
    В Laravel то же самое.
    Есть Global ExceptionHandler , который перехватывает исключения на верхнем уровне, представляя их как JSON (для API) или как HTML.

    Но иногда требуется обработать функцию на все возможные случаи, и если она выбрасывает исключение - произвести какие-то действия, а не просто выдать это в АПИ-шку.
  • Ошибки с помощью Exception или строки?

    @durden_tailer Автор вопроса
    Дело в том, что почти все функции возвращают некий набор данных:
    [ 'data' => [.. city, adress, и т.д.], 'status' => 'ok' ]
    либо
    [ 'data' => [empty array()], 'status' => 'error' ]
    Фронтенд получая пустые данные и состояние ошибки, сам решает, что с этим делать.

    Получился своего рода "унифицированный" язык общения между функциями и классами.
    Нежели возвращать либо City либо throw new Exception NotFoundCity или CityServiceUnreachable

    Но конечно - это все же велосипед.

    Да и в тестировании исключения проще - соглашусь, Вы правы.