Start · Sprachen · PHP · Referenz · fann_reset_errno

fann_reset_errno

Funktion

Setzt die zuletzt gespeicherte Fehlernummer einer FANN-Netzwerk-Ressource auf <code>FANN_E_NO_ERROR</code> zurück.

seit PHP 5.0.0 Kategorie: misc

Signatur

fann_reset_errno(resource $ann): void

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

Typ
void
Beschreibung
Diese Funktion gibt keinen Wert zurück.

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);
}
?>
Fehlernummer: 0 Kein Fehler vorhanden.

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);
}
?>
Fehler ...: ... Fehlerstatus bereinigt. Fehlernummer jetzt: 0

// 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.