Signatur
Beschreibung
fann_get_errstr() ist Teil der PHP-FANN-Erweiterung (Fast Artificial Neural Network Library) und liefert den zuletzt aufgetretenen Fehlertext für ein neuronales Netz (resource) oder ein Trainingsdaten-Objekt. Die Funktion ergänzt fann_get_errno(), welche den numerischen Fehlercode liefert.
Der Fehlermeldungstext ist nützlich beim Debuggen von FANN-Operationen: Schlägt z. B. das Laden einer Netz-Datei, das Training oder das Speichern fehl, kann mit dieser Funktion eine menschenlesbare Beschreibung des Problems abgerufen werden.
Typischerweise wird fann_get_errstr() in Kombination mit fann_get_errno() verwendet, um sowohl Code als auch Text eines Fehlers zu protokollieren oder dem Entwickler auszugeben. Nach dem Abrufen kann der Fehlerzustand mit fann_reset_errno() und fann_reset_errstr() zurückgesetzt werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $errdat Pflicht | resource | Eine FANN-Netz-Ressource (erstellt z. B. durch fann_create_standard()) oder eine FANN-Trainingsdaten-Ressource (erstellt z. B. durch fann_read_train_from_file()), für die die letzte Fehlermeldung abgerufen werden soll. |
Rückgabewert
Beispiele
Fehlermeldung nach fehlgeschlagenem Laden eines Netzes abfragen
<?php
// Versuch, ein nicht vorhandenes Netz zu laden
$ann = fann_create_from_file('/nichtvorhanden/netz.net');
if (!$ann) {
// Da $ann false ist, brauchen wir eine alternative Ressource;
// typischerweise wird fann_get_errstr auf einem zuvor erstellten Handle aufgerufen
$ann = fann_create_standard(3, 2, 3, 1);
// Fehler simulieren: Speichern an ungültigem Pfad
fann_save($ann, '/ungueltig/pfad/netz.net');
$errno = fann_get_errno($ann);
$errstr = fann_get_errstr($ann);
echo "Fehlercode: " . $errno . PHP_EOL;
echo "Fehlermeldung: " . $errstr . PHP_EOL;
fann_destroy($ann);
}
Fehlermeldung beim Laden von Trainingsdaten abfragen
<?php
// Versuch, eine nicht vorhandene Trainingsdatei zu laden
$train_data = fann_read_train_from_file('/nichtvorhanden/train.data');
if (!$train_data) {
// Eigene Trainingsdaten-Ressource für Fehlerstatus anlegen
$ann = fann_create_standard(2, 2, 3, 1);
$errstr = fann_get_errstr($ann);
if (!empty($errstr)) {
echo "Letzter Fehler: " . $errstr . PHP_EOL;
} else {
echo "Kein Fehler registriert auf dieser Ressource." . PHP_EOL;
}
fann_destroy($ann);
}
// Wichtig · Fallstricke
Hinweis: Die FANN-Erweiterung muss als PHP-Extension installiert und aktiviert sein (extension=fann in der php.ini). Sie ist nicht standardmäßig in PHP enthalten und muss über PECL nachinstalliert werden.
Der Fehlerstatus ist an die jeweilige Ressource gebunden. Unterschiedliche Netz- oder Trainingsdaten-Handles führen eigene Fehlerzustände. Ein Reset des Fehlerstatus ist mit fann_reset_errstr() möglich.