С PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
fetch винаги ще хвърля изключение, ако има грешка. Можете да се справите с тези във вашия catch блок и няма значение какво е върнал. Следователно, ако не сте уловили изключение и то е върнало false, можете спокойно да предположите, че се дължи на празен набор. Това е много ефективен начин за обработка на PDO грешки. За да отговоря на въпроса ви, има много начини за симулиране на грешка. Най-основният е неправилният синтаксис на заявката. Можете също така да опитате да свържете параметър, който не е там, да свържете грешен брой параметри и т.н. Колкото по-дълго използвате тази схема, толкова повече видове грешки/изключения ще видите. Това е много ефективно, тъй като всяка грешка включва подробно съобщение, което да ви помогне да я отстраните.