Avec PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
fetch lèvera toujours une exception s'il y a une erreur. Vous pouvez gérer ceux de votre bloc catch et peu importe ce qu'il a renvoyé. Par conséquent, si vous n'avez pas intercepté une exception et qu'elle a renvoyé false, vous pouvez supposer en toute sécurité que cela était dû à un ensemble vide. C'est un moyen très efficace de gérer les erreurs PDO. Pour répondre à votre question, il existe de nombreuses façons de simuler une erreur. Le plus fondamental est une syntaxe de requête incorrecte. Vous pouvez également essayer de lier un paramètre qui n'existe pas, lier le mauvais nombre de paramètres, etc. Plus vous utilisez ce schéma, plus vous verrez de types d'erreurs/exceptions. Il est très efficace puisque chaque erreur inclut un message détaillé pour vous aider à la déboguer.