Start · Sprachen · PHP · Referenz · GmagickPixelException

GmagickPixelException

Klasse

Wird ausgelöst, wenn ein Fehler im Zusammenhang mit einem <code>GmagickPixel</code>-Objekt auftritt.

seit PHP 1.0.0 Kategorie: error

Signatur

class GmagickPixelException extends Exception

Beschreibung

GmagickPixelException ist eine spezialisierte Ausnahmeklasse, die von der Gmagick-Erweiterung geworfen wird, wenn beim Arbeiten mit GmagickPixel-Objekten ein Fehler auftritt. Sie erbt von der Standard-Exception-Klasse und kann daher mit denselben Methoden (getMessage(), getCode() etc.) behandelt werden.

Typische Fehlerquellen sind ungültige Farbangaben, fehlerhafte Farbwert-Formate oder interne Fehler beim Setzen bzw. Lesen von Pixelinformationen über die GmagickPixel-Klasse. Durch das Abfangen dieser Ausnahme kann eine Anwendung gezielt auf Pixel-spezifische Fehler reagieren.

Da GmagickPixelException eine eigene Klasse ist, lässt sie sich in einem try/catch-Block separat von allgemeinen GmagickException-Fehlern abfangen und unterschiedlich behandeln. So kann feingranulares Fehler-Handling für Pixel-Operationen implementiert werden.

Beispiele

Abfangen eines GmagickPixelException-Fehlers

<?php
try {
    $pixel = new GmagickPixel('kein-gueltiger-farbwert-xyz');
    $hex = $pixel->getColor();
    echo "Farbe: " . $hex;
} catch (GmagickPixelException $e) {
    echo "GmagickPixel-Fehler: " . $e->getMessage() . PHP_EOL;
    echo "Fehlercode: " . $e->getCode() . PHP_EOL;
} catch (Exception $e) {
    echo "Allgemeiner Fehler: " . $e->getMessage() . PHP_EOL;
}
GmagickPixel-Fehler: unable to parse color `kein-gueltiger-farbwert-xyz' Fehlercode: 0

Gezieltes Fehler-Handling bei Pixel-Farboperationen

<?php
function getFarbeAlsRgb(string $farbwert): string {
    try {
        $pixel = new GmagickPixel($farbwert);
        $farbe = $pixel->getColor();
        return "rgb({$farbe['r']}, {$farbe['g']}, {$farbe['b']})";
    } catch (GmagickPixelException $e) {
        // Ungültiger Farbwert — Fallback auf Schwarz
        error_log('Ungültiger GmagickPixel-Farbwert: ' . $e->getMessage());
        return 'rgb(0, 0, 0)';
    }
}

echo getFarbeAlsRgb('red') . PHP_EOL;
echo getFarbeAlsRgb('#ff8800') . PHP_EOL;
echo getFarbeAlsRgb('ungueltig') . PHP_EOL;
rgb(255, 0, 0) rgb(255, 136, 0) rgb(0, 0, 0)

// Wichtig · Fallstricke

Hinweis: Die Gmagick-Erweiterung muss als PHP-Erweiterung installiert und aktiviert sein, damit GmagickPixelException verfügbar ist. Die Erweiterung basiert auf der GraphicsMagick-Bibliothek und ist nicht standardmäßig in PHP enthalten.

Da GmagickPixelException von Exception erbt, kann sie auch mit einem allgemeinen catch (Exception $e)-Block abgefangen werden. Für feingranulares Fehler-Handling sollte sie jedoch immer vor allgemeineren Exception-Typen im catch-Block stehen.