Signatur
Beschreibung
fann_reset_errno setzt die interne Fehlernummer einer FANN-Netzwerk-Ressource zurück auf den Anfangszustand (FANN_E_NO_ERROR). Dies ist nützlich, nachdem ein Fehler behandelt wurde und sichergestellt werden soll, dass nachfolgende Fehlerprüfungen nicht fälschlicherweise auf einen bereits behobenen Fehler reagieren.
Die FANN-Bibliothek (Fast Artificial Neural Network) speichert intern den letzten aufgetretenen Fehler für jede Netzwerk-Ressource. Durch das Zurücksetzen mit dieser Funktion wird der Fehlerzustand bereinigt, sodass erneute Aufrufe von fann_get_errno keine alten Fehlercodes mehr liefern.
In typischen Anwendungsszenarien ruft man diese Funktion auf, nachdem ein Fehler über fann_get_errno und fann_get_errstr ausgelesen und behandelt wurde. So bleibt die Fehlerbehandlungslogik sauber und vermeidet Verwirrung durch veraltete Fehlerzustände.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $ann Pflicht | resource | Eine gültige FANN-Netzwerk-Ressource, die zuvor mit fann_create_standard oder einer ähnlichen Funktion erstellt wurde. |
Rückgabewert
Beispiele
Fehler auslesen und zurücksetzen
<?php
// Erzeuge ein einfaches neuronales Netz
$ann = fann_create_standard(3, 2, 3, 1);
if ($ann) {
// Aktuelle Fehlernummer prüfen
$errno = fann_get_errno($ann);
echo 'Fehlernummer: ' . $errno . PHP_EOL;
if ($errno !== FANN_E_NO_ERROR) {
// Fehlermeldung ausgeben
echo 'Fehlertext: ' . fann_get_errstr($ann) . PHP_EOL;
// Fehler nach Behandlung zurücksetzen
fann_reset_errno($ann);
echo 'Fehlernummer nach Reset: ' . fann_get_errno($ann) . PHP_EOL;
} else {
echo 'Kein Fehler vorhanden.' . PHP_EOL;
}
fann_destroy($ann);
}
?>
Fehlerbehandlung in einer Trainingsschleife
<?php
$ann = fann_create_standard(3, 2, 4, 1);
if ($ann) {
// Versuche, eine nicht existierende Trainingsdatei zu laden
$train_data = @fann_read_train_from_file('/nicht/vorhanden.data');
if (!$train_data) {
$errno = fann_get_errno($ann);
$errstr = fann_get_errstr($ann);
echo 'Fehler ' . $errno . ': ' . $errstr . PHP_EOL;
// Fehler zurücksetzen, damit weitere Operationen nicht gestört werden
fann_reset_errno($ann);
echo 'Fehlerstatus bereinigt. Fehlernummer jetzt: ' . fann_get_errno($ann) . PHP_EOL;
}
fann_destroy($ann);
}
?>
// Wichtig · Fallstricke
Hinweis: Die Funktion fann_reset_errno steht nur zur Verfügung, wenn die FANN-Erweiterung (php-fann) installiert und aktiviert ist. Diese Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat installiert werden.
Das Zurücksetzen des Fehlerstatus sollte stets nach einer vollständigen Fehlerbehandlung erfolgen, nicht davor – andernfalls gehen wichtige Fehlerinformationen verloren, bevor sie ausgewertet werden konnten.