Signatur
Beschreibung
intltz_get_error_code() ist die prozedurale Variante der Methode IntlTimeZone::getErrorCode() und gibt den ICU-Fehlercode zurück, der bei der letzten Operation auf dem übergebenen IntlTimeZone-Objekt aufgetreten ist. Dabei handelt es sich um einen numerischen Code aus der ICU-Bibliothek (UErrorCode), wobei Werte kleiner als 0 auf Fehler und Werte größer oder gleich 0 auf Erfolg oder Warnungen hinweisen.
Diese Funktion ist besonders nützlich, wenn nach dem Erstellen oder Manipulieren einer Zeitzone geprüft werden soll, ob die Operation erfolgreich war – beispielsweise wenn eine Zeitzone per Bezeichner erstellt wurde und unklar ist, ob dieser gültig war.
Für eine menschenlesbare Fehlermeldung kann zusätzlich intltz_get_error_message() verwendet werden. Beide Funktionen bilden zusammen einen vollständigen Mechanismus zur Fehlerbehandlung bei Intl-Zeitzonenoperationen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $timezone Pflicht | IntlTimeZone | Das IntlTimeZone-Objekt, dessen letzter Fehlercode abgefragt werden soll. |
Rückgabewert
0 entspricht U_ZERO_ERROR (kein Fehler), negative Werte signalisieren Fehler, positive Werte können Warnungen darstellen.Beispiele
Fehlercode nach gültigem Zeitzonenbezeichner prüfen
<?php
$tz = intltz_create_time_zone('Europe/Berlin');
$errorCode = intltz_get_error_code($tz);
if ($errorCode === 0) {
echo 'Zeitzone erfolgreich erstellt: ' . intltz_get_id($tz);
} else {
echo 'Fehler aufgetreten, Code: ' . $errorCode;
}
Fehlercode nach ungültigem Zeitzonenbezeichner prüfen
<?php
$tz = intltz_create_time_zone('Ungueltige/Zeitzone');
$errorCode = intltz_get_error_code($tz);
$errorMessage = intltz_get_error_message($tz);
echo 'Fehlercode: ' . $errorCode . PHP_EOL;
echo 'Fehlermeldung: ' . $errorMessage . PHP_EOL;
echo 'Verwendete Zeitzone (Fallback): ' . intltz_get_id($tz) . PHP_EOL;
// Wichtig · Fallstricke
Hinweis zur ICU-Fehlerbehandlung: Im Gegensatz zu PHP-nativen Funktionen, die oft false zurückgeben, arbeitet die ICU-Bibliothek mit numerischen Fehlercodes. Ein Rückgabewert von 0 bedeutet dabei grundsätzlich keinen Fehler (U_ZERO_ERROR). Werte zwischen 1 und 0xFFFF sind Warnungen, negative Werte sind echte Fehler.
Beim Erstellen einer Zeitzone mit einem unbekannten Bezeichner fällt ICU oft stillschweigend auf GMT zurück, ohne einen Fehlercode zu setzen. Es empfiehlt sich daher, die Zeitzonenkennung über intltz_get_id() zu verifizieren.