Z PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
fetch zawsze zgłosi wyjątek, jeśli wystąpi błąd. Możesz obsłużyć je w swoim bloku catch i nie ma znaczenia, co zwróciło. Dlatego, jeśli nie złapałeś wyjątku, który zwrócił false, możesz bezpiecznie założyć, że był to spowodowany pustym zestawem. Jest to bardzo skuteczny sposób obsługi błędów PDO. Aby odpowiedzieć na Twoje pytanie, istnieje wiele sposobów symulowania błędu. Najbardziej podstawowa to niewłaściwa składnia zapytania. Możesz także spróbować powiązać parametr, którego nie ma, powiązać niewłaściwą liczbę parametrów itp. Im dłużej używasz tego schematu, tym więcej rodzajów błędów/wyjątków zobaczysz. Jest to bardzo skuteczne, ponieważ każdy błąd zawiera szczegółową wiadomość, która pomoże w jego debugowaniu.