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