Start · Sprachen · PHP · Referenz · intltz_get_error_message

intltz_get_error_message

Funktion

Gibt die letzte Fehlermeldung des <code>IntlTimeZone</code>-Objekts als Zeichenkette zurück.

seit PHP 5.5.0 Kategorie: string

Signatur

intltz_get_error_message(IntlTimeZone $timezone): string

Beschreibung

intltz_get_error_message() ist die prozedurale Variante von IntlTimeZone::getErrorMessage() und liefert den menschenlesbaren Text der letzten Fehlermeldung, die innerhalb des übergebenen IntlTimeZone-Objekts aufgetreten ist. Diese Funktion ergänzt intltz_get_error_code(), mit der der numerische Fehlercode abgefragt werden kann.

Typischerweise wird diese Funktion nach Operationen mit IntlTimeZone-Objekten aufgerufen, um zu prüfen, ob eine Fehlersituation vorliegt und um diagnostische Informationen auszugeben oder zu protokollieren. Die Meldung wird von der ICU-Bibliothek generiert und ist auf Englisch.

Im Erfolgsfall – also wenn kein Fehler aufgetreten ist – gibt die Funktion den Wert 'U_ZERO_ERROR' zurück. Dieses Verhalten ist analog zu anderen intl-Funktionen und sollte bei der Fehlerprüfung berücksichtigt werden.

Parameter

Name Typ Default Beschreibung
$timezone Pflicht IntlTimeZone Das IntlTimeZone-Objekt, dessen letzte Fehlermeldung abgefragt werden soll.

Rückgabewert

Typ
string
Beschreibung
Gibt die letzte Fehlermeldung des IntlTimeZone-Objekts als Zeichenkette zurück. Im Erfolgsfall (kein Fehler vorhanden) wird 'U_ZERO_ERROR' zurückgegeben.

Beispiele

Einfache Fehlerprüfung nach dem Erstellen einer Zeitzone

<?php
$tz = IntlTimeZone::createTimeZone('Europe/Berlin');

$errorCode = intltz_get_error_code($tz);
$errorMessage = intltz_get_error_message($tz);

if ($errorCode !== U_ZERO_ERROR) {
    echo 'Fehler aufgetreten: ' . $errorMessage . PHP_EOL;
} else {
    echo 'Kein Fehler: ' . $errorMessage . PHP_EOL;
    echo 'Zeitzone: ' . $tz->getID() . PHP_EOL;
}
Kein Fehler: U_ZERO_ERROR Zeitzone: Europe/Berlin

Fehlermeldung bei ungültiger Zeitzone abfragen

<?php
// ICU erstellt bei unbekannter Zeitzone eine GMT-Fallback-Zone
$tz = IntlTimeZone::createTimeZone('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: ' . $tz->getID() . PHP_EOL;
Fehlercode: 0 Fehlermeldung: U_ZERO_ERROR Verwendete Zeitzone: GMT

// Wichtig · Fallstricke

Hinweis: Die Funktion intltz_get_error_message() ist die prozedurale Entsprechung zur Methode IntlTimeZone::getErrorMessage(). In modernem objektorientiertem Code wird die Methode bevorzugt. Beide Varianten liefern identische Ergebnisse.

Die zurückgegebene Meldung stammt aus der ICU-Bibliothek und ist stets auf Englisch, unabhängig von der konfigurierten Locale. Für eine vollständige Fehlerdiagnose sollte immer auch intltz_get_error_code() bzw. die globale Funktion intl_get_error_message() herangezogen werden.