Не работает exit() в php
Я написал функцию обновления строки в таблице БД на php. Запросы отправляются с помощью PDO. Функция принимает в качестве аргументов название таблицы($table), айди($id), массив параметров для запроса($params). Массив $params в ней парсится и из него формируются данные для запроса, который собирается в переменной $sql. Далее он подготавливается и отправляется. А в конце проверяется с помощью функции dbCheckError() на корректность запроса. Проблема в том что проверка dbCheckError не работает, если например при вызове update() я неправильно его сформирую, например не напишу какой-то из аргументов, страница просто не загрузится. А должна выводится ошибка, вместе с завершением выполнения скрипта. Что я сделал не так?
function dbCheckError($query){
$errInfo = $query->errorInfo();
if($errInfo[0] !== PDO::ERR_NONE){
echo $errInfo[2];
exit();
}
return true;
}
function update($table, $id, $params){
global $pdo;
$i = 0;
$str = '';
foreach($params as $key => $value){
if($i === 0){
$str .= "$key = '$value'";
}else{
$str .= ", $key = '$value'";
}
$i++;
}
$sql = "UPDATE $table SET $str WHERE id = $id";
$query = $pdo->prepare($sql);
$query->execute($params);
dbCheckError($query);
}