Signatur
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
'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;
}
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;
}
// 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.