Start · Sprachen · PHP · Referenz · fann_print_error

fann_print_error

Funktion

Gibt die letzte Fehlermeldung einer FANN-Ressource auf der Standardausgabe aus.

Kategorie: misc

Signatur

fann_print_error(resource $errdat): void

Beschreibung

fann_print_error gehört zur FANN-Erweiterung (Fast Artificial Neural Network Library) und gibt die zuletzt aufgetretene Fehlermeldung einer FANN-Ressource (z. B. ein neuronales Netz oder eine Trainingsdaten-Ressource) direkt auf der Standardausgabe aus.

Die Funktion ist vor allem für Debug-Zwecke während der Entwicklung geeignet, wenn man schnell sehen möchte, welcher Fehler in der FANN-Bibliothek zuletzt aufgetreten ist, ohne selbst die Fehlermeldung über fann_get_errstr abfragen zu müssen.

In Produktivsystemen sollte stattdessen fann_get_errno und fann_get_errstr verwendet werden, um Fehlermeldungen programmatisch abzufangen und in ein eigenes Logging-System zu schreiben, anstatt sie direkt auszugeben.

Parameter

Name Typ Default Beschreibung
$errdat Pflicht resource Eine FANN-Ressource (neuronales Netz oder Trainingsdaten), deren letzte Fehlermeldung ausgegeben werden soll. Die Ressource wird typischerweise durch fann_create_standard, fann_read_train_from_file o. ä. erzeugt.

Rückgabewert

Typ
void
Beschreibung
Die Funktion gibt keinen Rückgabewert zurück. Die Fehlermeldung wird direkt auf der Standardausgabe ausgegeben.

Beispiele

Fehlermeldung nach fehlgeschlagenem Laden eines neuronalen Netzes ausgeben

<?php
// Versuche, ein neuronales Netz aus einer nicht vorhandenen Datei zu laden
$ann = fann_create_from_file('nicht_vorhanden.net');

if ($ann === false) {
    echo "Fehler beim Laden des Netzes:" . PHP_EOL;
    // Da $ann false ist, übergeben wir stattdessen eine gültige Ressource
    // In der Praxis: Fehler über eine zuvor gültige FANN-Ressource ausgeben
    $ann_neu = fann_create_standard(3, 2, 3, 1);
    fann_print_error($ann_neu);
    fann_destroy($ann_neu);
} else {
    echo "Netz erfolgreich geladen.";
    fann_destroy($ann);
}
Fehler beim Laden des Netzes: (oder leer, wenn kein Fehler an der Ressource hängt)

Fehlermeldung nach einem Trainingsversuch ausgeben

<?php
// Neuronales Netz erstellen
$ann = fann_create_standard(3, 2, 4, 1);

if ($ann) {
    // Trainingsdaten aus einer Datei laden
    $train_data = fann_read_train_from_file('xor.data');

    if ($train_data === false) {
        echo "Trainingsdaten konnten nicht geladen werden. Fehlermeldung:" . PHP_EOL;
        fann_print_error($ann);
    } else {
        fann_train_on_data($ann, $train_data, 1000, 100, 0.001);
        fann_print_error($ann);
        fann_destroy_train($train_data);
    }

    fann_destroy($ann);
}
(Fehlerausgabe der FANN-Bibliothek oder keine Ausgabe, wenn kein Fehler vorliegt)

// Wichtig · Fallstricke

Hinweis: fann_print_error gibt die Fehlermeldung direkt auf der Standardausgabe aus, was in Webanwendungen zu unerwünschter Ausgabe im HTML führen kann. Für produktive Anwendungen empfiehlt sich stattdessen die Verwendung von fann_get_errstr und fann_get_errno, um Fehlermeldungen kontrolliert zu behandeln.

Die FANN-Erweiterung muss als PHP-Extension kompiliert und aktiviert sein (extension=fann in der php.ini). Sie ist nicht standardmäßig enthalten und muss über PECL installiert werden.