Start · Sprachen · PHP · Referenz · UI\Exception\InvalidArgumentException

UI\Exception\InvalidArgumentException

Klasse

Wird von der PHP-UI-Erweiterung ausgelöst, wenn einem UI-Aufruf ein ungültiges Argument übergeben wird.

seit PHP 7.0.0 Kategorie: error

Signatur

class UI\Exception\InvalidArgumentException extends \InvalidArgumentException

Beschreibung

UI\Exception\InvalidArgumentException ist eine spezialisierte Ausnahme der PHP-UI-Erweiterung (ext/ui). Sie erweitert die eingebaute \InvalidArgumentException und wird geworfen, wenn API-Aufrufe der UI-Bibliothek Argumente erhalten, die nicht dem erwarteten Typ, Wertebereich oder Format entsprechen.

Typische Auslöser sind zum Beispiel das Übergeben eines negativen Wertes, wo eine positive Zahl erwartet wird, ein falscher Objekttyp als Widget-Parameter oder ein ungültiger Farb- bzw. Koordinatenwert in grafischen UI-Operationen.

Da sie von der Standard-SPL-Klasse \InvalidArgumentException erbt, kann sie sowohl mit catch (UI\Exception\InvalidArgumentException $e) als auch mit dem allgemeineren catch (\InvalidArgumentException $e) abgefangen werden. Für eine präzise Fehlerbehandlung in UI-Anwendungen empfiehlt sich jedoch der spezifische Catch-Block.

Die Klasse gehört zur PHP-UI-Erweiterung, die auf libui basiert und plattformübergreifende Desktop-GUIs direkt aus PHP heraus ermöglicht. Die Erweiterung ist nicht im Standard-PHP-Lieferumfang enthalten und muss separat installiert werden.

Beispiele

Abfangen einer ungültigen Argument-Ausnahme bei UI-Aufrufen

<?php
use UI\Exception\InvalidArgumentException;

try {
    // Beispiel: Ein UI-Widget wird mit einem ungültigen Argument erstellt
    $point = new UI\Point(-1, -1); // Annahme: negative Werte sind nicht erlaubt
} catch (InvalidArgumentException $e) {
    echo 'Ungültiges Argument: ' . $e->getMessage() . PHP_EOL;
    echo 'In Datei: ' . $e->getFile() . ', Zeile: ' . $e->getLine() . PHP_EOL;
}
Ungültiges Argument: Invalid argument supplied In Datei: /var/www/app/ui_demo.php, Zeile: 7

Hierarchisches Abfangen mit Fallback auf Standard-InvalidArgumentException

<?php
use UI\Exception\InvalidArgumentException as UIInvalidArgument;

function createControl(string $type, mixed $value): void {
    // Simuliert einen UI-API-Aufruf
    if ($type === 'slider' && ($value < 0 || $value > 100)) {
        throw new UIInvalidArgument(
            "Slider-Wert muss zwischen 0 und 100 liegen, '$value' gegeben."
        );
    }
    echo "Control '$type' mit Wert $value erstellt." . PHP_EOL;
}

try {
    createControl('slider', 150);
} catch (UIInvalidArgument $e) {
    echo '[UI-Fehler] ' . $e->getMessage() . PHP_EOL;
} catch (\InvalidArgumentException $e) {
    echo '[Allgemeiner Fehler] ' . $e->getMessage() . PHP_EOL;
}
[UI-Fehler] Slider-Wert muss zwischen 0 und 100 liegen, '150' gegeben.

// Wichtig · Fallstricke

Achtung: Die PHP-UI-Erweiterung (ext/ui) ist ein experimentelles PECL-Paket und nicht Teil der Standard-PHP-Distribution. Für Produktivumgebungen ist Vorsicht geboten, da sich API und Ausnahmehierarchie noch ändern können.

Da UI\Exception\InvalidArgumentException von \InvalidArgumentException erbt, die wiederum von \LogicException und letztlich von \Exception abstammt, sind alle Methoden der Basis-Exception-Klasse verfügbar (getMessage(), getCode(), getTrace() etc.).