enums/JsonErrorCode.md
Перечисление JsonErrorCode
Пространство имён: goodboyalex\php_components_pack\enums
Версия: 1.0
Доступно с: 1.1.0
Описание
Перечисление определяет коды ошибок, которые могут возникнуть при работе с JSON-данными. Используется для обработки и идентификации различных типов ошибок при сериализации/десериализации JSON.
Автор
- Имя: Александр Бабаев
- Email: contact_with_us@babaev-an.ru
Зависимости
- Трейт:
EnumExtensionsTrait— расширяет функциональность перечисления
Константы перечисления
Основные коды ошибок
Unknown (-1)
- Описание: Неизвестная ошибка
- Применение: Используется при неопределенных ошибках
None (0)
- Описание: Ошибок нет
- Применение: Успешное выполнение операции
Depth (1)
- Описание: Достигнута максимальная глубина стека
- Применение: При превышении допустимой вложенности
StateMismatch (2)
- Описание: Неверный или некорректный JSON
- Применение: При некорректном формате JSON
CTRLChar (3)
- Описание: Ошибка управляющего символа
- Применение: Проблемы с кодировкой или специальными символами
Syntax (4)
- Описание: Синтаксическая ошибка
- Применение: Нарушение синтаксиса JSON
UTF8 (5)
- Описание: Некорректные символы UTF-8
- Применение: Проблемы с кодировкой UTF-8
Recursion (6)
- Описание: Зацикленные ссылки
- Применение: При обнаружении циклических ссылок
InfOrNan (7)
- Описание: Значения NAN или INF
- Применение: При обнаружении недопустимых числовых значений
UnsupportedType (8)
- Описание: Неподдерживаемый тип данных
- Применение: При попытке сериализации неподдерживаемого типа
InvalidPropertyName (9)
- Описание: Невалидное имя свойства
- Применение: При некорректном имени свойства
UTF16 (10)
- Описание: Некорректные символы UTF-16
- Применение: Проблемы с кодировкой UTF-16
KeyIsNotArray (11)
- Описание: Ключ не содержит вложений
- Применение: При несоответствии структуры данных
NotISerializable (12)
- Описание: Класс не реализует ISerializable
- Применение: При попытке сериализации неподдерживаемого класса
Методы перечисления
FromLastError()
public static function FromLastError(): JsonErrorCode
Описание: Получает код ошибки из последней JSON ошибки.
Возвращаемое значение:
JsonErrorCode— код ошибки
Примеры использования
Проверка ошибок
try {
// Попытка обработки JSON
$result = json_decode($jsonString);
// Получение кода ошибки
$error = JsonErrorCode::FromLastError();
if ($error !== JsonErrorCode::None)
throw new Exception("Произошла ошибка: " . $error->getName());
} catch (Exception $e) {
// Обработка ошибки
}
Обработка конкретных ошибок
switch (JsonErrorCode::FromLastError()) {
case JsonErrorCode::Syntax:
// Обработка синтаксической ошибки
break;
case JsonErrorCode::UTF8:
// Обработка ошибок кодировки
break;
default:
// Общая обработка ошибок
break;
}
Рекомендации по использованию
-
Проверка ошибок:
- Всегда проверяйте код ошибки после операций с JSON
- Используйте конкретные коды ошибок для точной обработки
-
Обработка исключений:
- Создавайте отдельные обработчики для критических ошибок
- Журналируйте коды ошибок для последующего анализа
-
Валидация данных:
- Проверяйте структуру данных перед сериализацией
- Используйте валидацию входных данных