(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getErrorCode -- intlcal_get_error_code — 获取对象上的最后一个错误代码
面向对象风格(方法)
过程化风格
返回此对象(包括克隆)的最后一个调用的数字 ICU 错误代码,或为 calendar
参数(在过程化风格版本中)给定的 IntlCalendar 的错误代码。这可能只表示警告(负错误代码)或根本没有错误(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"