Tut mie leid, gerade diese Routine schreit danach ein Prozedur zu sein die im Fehlerfall eine
Exception wirft.
Denn wenn der Kunde anruft und sich beschwert, dass die JPEG-Datei xyz.jpg nicht geladen werden kann, will ich wissen wie es dazu kam: War die Datei vorhanden? War der Header Okay? War das Endian Okay? Zumal diese Funktion eh Exceptions werfen könnte, z.B. weil der Dateipfad falsch ist, die Datei gesperrt ist, das Netzlaufwerk zum Pfad nicht gemountet ist. Und auch weil die Datei nicht vorhanden ist, weil DateiVorhanden eine RaceCondition darstellt.
Nirgendwo in dem Code ist ersichtlich, ob die Prüfmethoden irgendwo einen Fehler vermerken, der nach einem False-Return irgendwo ausgewertet wird. Eine
Exception wäre eine Möglichkeit das zu handhaben, aber es gibt auch andere.