Всем привет! Пишу общий класс для запросов из 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");
Вероятно, должно быть как-то красивее.