Start · Sprachen · PHP · Referenz · fann_get_errno

fann_get_errno

Funktion

Gibt die letzte Fehlernummer zurück, die bei einer FANN-Operation aufgetreten ist.

Kategorie: misc

Signatur

fann_get_errno(resource $ann): int

Beschreibung

fann_get_errno() liefert die Fehlernummer des zuletzt aufgetretenen Fehlers für ein gegebenes FANN-Netzwerk-Objekt. Die Funktion gehört zur FANN-Erweiterung (Fast Artificial Neural Network Library) für PHP und ermöglicht eine einfache Fehlerdiagnose nach FANN-Operationen.

Typischerweise wird diese Funktion direkt nach dem Aufruf einer anderen FANN-Funktion eingesetzt, um zu prüfen, ob ein Fehler aufgetreten ist. In Kombination mit fann_get_errstr() lässt sich sowohl der Fehlercode als auch eine beschreibende Fehlermeldung auslesen, was die Fehlersuche erheblich erleichtert.

Die Fehlernummern entsprechen den in der FANN-Bibliothek definierten Fehlercodes. Ein Rückgabewert von 0 (entspricht der Konstante FANN_E_NO_ERROR) zeigt an, dass kein Fehler aufgetreten ist. Alle anderen Werte stehen für spezifische Fehlerzustände der FANN-Bibliothek.

  • FANN_E_NO_ERROR (0): Kein Fehler aufgetreten
  • FANN_E_CANT_OPEN_CONFIG_R: Konfigurationsdatei kann nicht zum Lesen geöffnet werden
  • FANN_E_CANT_OPEN_CONFIG_W: Konfigurationsdatei kann nicht zum Schreiben geöffnet werden

Parameter

Name Typ Default Beschreibung
$ann Pflicht resource Ein gültiges FANN-Netzwerk-Ressource-Handle, wie es z. B. von fann_create_standard() oder fann_create_from_file() zurückgegeben wird.

Rückgabewert

Typ
int
Beschreibung
Gibt die letzte Fehlernummer als Ganzzahl zurück. Der Wert 0 (Konstante FANN_E_NO_ERROR) signalisiert, dass kein Fehler vorliegt. Jeder andere Wert steht für einen spezifischen FANN-Fehlercode.

Beispiele

Fehlernummer nach dem Erstellen eines Netzwerks prüfen

<?php
// Erstellt ein einfaches vorwärtsgekoppeltes neuronales Netz
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    $errno = fann_get_errno($ann);
    if ($errno !== FANN_E_NO_ERROR) {
        echo "Fehler aufgetreten! Fehlernummer: " . $errno . PHP_EOL;
        echo "Fehlerbeschreibung: " . fann_get_errstr($ann) . PHP_EOL;
    } else {
        echo "Kein Fehler aufgetreten. Netz wurde erfolgreich erstellt." . PHP_EOL;
    }
    fann_destroy($ann);
} else {
    echo "Netzwerk konnte nicht erstellt werden." . PHP_EOL;
}
Kein Fehler aufgetreten. Netz wurde erfolgreich erstellt.

Fehlerbehandlung beim Laden einer FANN-Konfigurationsdatei

<?php
// Versucht, ein Netz aus einer (nicht vorhandenen) Datei zu laden
$ann = fann_create_from_file('/pfad/zu/nicht/existierenden/datei.net');

if (!$ann) {
    echo "Netz konnte nicht geladen werden." . PHP_EOL;
} else {
    $errno = fann_get_errno($ann);
    if ($errno !== FANN_E_NO_ERROR) {
        $errstr = fann_get_errstr($ann);
        echo "Fehlernummer: $errno" . PHP_EOL;
        echo "Fehlermeldung: $errstr" . PHP_EOL;
        // Fehler zurücksetzen für nachfolgende Operationen
        fann_reset_errno($ann);
    }
    fann_destroy($ann);
}
Netz konnte nicht geladen werden.

// Wichtig · Fallstricke

Die FANN-Erweiterung muss explizit kompiliert oder als PECL-Paket installiert sein. Sie ist nicht Bestandteil der PHP-Standardinstallation. Prüfen Sie mit extension_loaded('fann'), ob die Erweiterung verfügbar ist.

Nach dem Auslesen und Behandeln eines Fehlers empfiehlt es sich, den Fehlerzustand mit fann_reset_errno() zurückzusetzen, damit nachfolgende Fehlerprüfungen nicht durch alte Fehlercodes beeinflusst werden.