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