(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getErrorCode -- intlcal_get_error_code — Получает последний код ошибки объекта
Объектно-ориентированный стиль (метод):
Процедурный стиль:
Возвращает числовой код ошибки ICU для последнего вызова этого объекта (включая клонирование)
или IntlCalendar, указанный для параметра calendar
(в версии с процедурным стилем).
Это может означать только предупреждение (отрицательный код ошибки) или полное отсутствие ошибки (U_ZERO_ERROR
).
Фактическое наличие ошибки можно проверить с помощью intl_is_failure().
Недействительные аргументы, обнаруженные на стороне PHP (до вызова функций библиотеки ICU), не записываются для этой функции.
Последнюю ошибку, которая произошла при любом вызове функции модуля intl, включая ошибки ранних аргументов, можно получить с помощью функции intl_get_error_code(). Эта функция сбрасывает глобальный код ошибки, а не код ошибки объекта.
calendar
Объект календаря в интерфейсе процедурного стиля.
Код ошибки ICU, указывающий на успешное выполнение, сбой или предупреждение.
Возвращает false
в случае возникновения ошибки.
Пример #1 Пример использования IntlCalendar::getErrorCode() и IntlCalendar::getErrorMessage()
<?php
ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");
$intlcal = new IntlGregorianCalendar(2012, 1, 29);
var_dump(
$intlcal->getErrorCode(),
$intlcal->getErrorMessage()
);
$intlcal->fieldDifference(-1e100, IntlCalendar::FIELD_SECOND);
var_dump(
$intlcal->getErrorCode(),
$intlcal->getErrorMessage()
);
Результат выполнения приведённого примера:
int(0) string(12) "U_ZERO_ERROR" Warning: IntlCalendar::fieldDifference(): intlcal_field_difference: Call to ICU method has failed in /home/glopes/php/ws/example.php on line 10 int(1) string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR"