Start · Sprachen · PHP · Referenz · resourcebundle_get_error_message

resourcebundle_get_error_message

Funktion

Gibt die Fehlermeldung des zuletzt aufgetretenen Fehlers eines <code>ResourceBundle</code>-Objekts als Zeichenkette zurück.

seit PHP 5.3.2 Kategorie: string

Signatur

resourcebundle_get_error_message(ResourceBundle $bundle): string

Beschreibung

resourcebundle_get_error_message() ist die prozedurale Variante von ResourceBundle::getErrorMessage() und liefert eine menschenlesbare Beschreibung des letzten Fehlers, der bei einer Operation auf dem angegebenen ResourceBundle-Objekt aufgetreten ist.

Die Funktion wird typischerweise nach dem Laden oder Zugriff auf ein Ressourcenbündel eingesetzt, um zu prüfen, ob ein Fehler aufgetreten ist – beispielsweise wenn ein Schlüssel nicht gefunden wurde oder das Bündel nicht geladen werden konnte. In Kombination mit resourcebundle_get_error_code() lassen sich Fehler gezielt diagnostizieren und behandeln.

Gibt es keinen Fehler, wird in der Regel die Zeichenkette U_ZERO_ERROR zurückgegeben, was bedeutet, dass kein Fehler vorliegt. Daher sollte stets auch der Fehlercode geprüft werden, um zwischen tatsächlichen Fehlern und dem fehlerfreien Zustand zu unterscheiden.

Parameter

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

Rückgabewert

Typ
string
Beschreibung
Gibt eine Zeichenkette mit der Fehlermeldung des zuletzt aufgetretenen Fehlers zurück. Im fehlerfreien Fall wird 'U_ZERO_ERROR' zurückgegeben.

Beispiele

Fehlermeldung nach fehlgeschlagenem Schlüsselzugriff ausgeben

<?php
// Erstelle ein ResourceBundle für deutsche Lokalisierung
// (Pfad und Datei müssen existieren; hier als Beispiel)
$bundle = new ResourceBundle('de', '/pfad/zu/bundles');

if ($bundle === null) {
    echo 'Bundle konnte nicht geladen werden.';
} else {
    // Versuche einen nicht vorhandenen Schlüssel abzurufen
    $wert = $bundle->get('nicht_vorhandener_schluessel');

    // Fehlermeldung und Code prüfen
    $fehlerCode = resourcebundle_get_error_code($bundle);
    $fehlerMeldung = resourcebundle_get_error_message($bundle);

    echo 'Fehlercode: ' . $fehlerCode . PHP_EOL;
    echo 'Fehlermeldung: ' . $fehlerMeldung . PHP_EOL;
}
Fehlercode: 1 Fehlermeldung: U_MISSING_RESOURCE_ERROR

Fehlerfreier Zugriff auf einen vorhandenen Schlüssel

<?php
// Erstelle ein ResourceBundle für englische Lokalisierungsdaten
$bundle = ResourceBundle::create('en', 'ICUDATA');

if ($bundle !== null) {
    // Zugriff auf ein vorhandenes Element
    $wert = $bundle->get('Version');

    $fehlerCode = resourcebundle_get_error_code($bundle);
    $fehlerMeldung = resourcebundle_get_error_message($bundle);

    echo 'Wert: ' . $wert . PHP_EOL;
    echo 'Fehlercode: ' . $fehlerCode . PHP_EOL;
    echo 'Fehlermeldung: ' . $fehlerMeldung . PHP_EOL;
}
Wert: 45.1 Fehlercode: 0 Fehlermeldung: U_ZERO_ERROR

// Wichtig · Fallstricke

Im Gegensatz zu vielen anderen PHP-Fehlerfunktionen setzt resourcebundle_get_error_message() keinen globalen Fehlerzustand, sondern arbeitet ausschließlich objektbezogen. Prüfe stets sowohl die Fehlermeldung als auch den Fehlercode mittels resourcebundle_get_error_code(), da eine Meldung ohne passenden Code zu Fehlinterpretationen führen kann. Die zurückgegebenen Fehlermeldungen stammen direkt aus der ICU-Bibliothek und sind daher immer auf Englisch.