@Alk90
php, mysql, jquery, css, html, api

Какую структуру класса использовать для собственных исключений?

Всем привет! Пишу общий класс для запросов из API и WEB. Мне нужно сделать так, чтобы для WEИ отдавались одни номера ошибок, а для API другие... Я полагаю, что мне нужно использовать некие константы, которые класс должен отдать в случае ошибки, а уже в местах, где этот класс вызывается, сопоставлять константы ошибок и необходимым номером ошибки и уже его отдавать клиенту.
Подскажите как это правильно сделать? Просто делать исключение в классе типа:
throw new \FirstClassException("INVALID_TOKEN");
А уже в файле где этот класс вызывается оборачивать код в что-то подобное:
try{

// тут работа с классом, где предполагаются исключения типа FirstClassException

}catch(FirstClassException $e){
   switch($e->getMessage()){
      case 'INVALID_TOKEN':
         $response->setError("Не верный токен", 101);
      break;
      //.... перечисление вчех вариантов ошибок
   }
}


Мне кажется, что логика верная, но вот такая строка мне не нравится:
throw new \FirstClassException("INVALID_TOKEN");
Вероятно, должно быть как-то красивее.
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Вам что исключений жалко?) сделайте для api свои, а для web свои - потом не будет путаницы в логах и коде.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы