(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"