Nou... je kan er natuurlijk ook voor zorgen dat je de fout niet krijgt, maar dat is in dit specifieke voorbeeld wel wat lastig. Dingen als fopen's die roepen dat ze specifieke files niet kunnen vinden kan je gewoon oplossen door een file_exists-call voor die fopen te plaatsen.
Corrupte plaatjes, die wel bestaan, maar toch imagecreatefromjpeg laten falen is inderdaad wat andere koek. Imho is het wat slordig dat het die dingen zo maar afschiet, gelukkig zijn ze nu begonnen met exceptions. Laten we hopen dat die ook uit php-functies gaan rollen in de nabije toekomst, zodat je zoiets kan doen:
PHP:
1
2
3
4
5
6
7
| try
{
... = imagecreatefromjpeg(...);
}catch(CorruptImageException $cie)
{
....
} |
En dat je dan mooi onderscheid kan maken tussen allerlei typen fouten, zonder te klooien met stringmanipulatie, onderdrukking van foutmeldingen en het wijzigen van error-levels.
Maar dat zal nog wel even duren voor dat dat gebeurt, als het al ooit gebeurt.