Как обработать ошибку в PDO?
Тебе это не нужно.
В штатной ситуации запрос отрабатывает всегда.
В нештатной никаких эхо не должно быть - скрипт должен аварийно завершиться, безо всяких ноликов.
Каким-то особым образом обрабатывать ошибки ПДО не нужно - в них нет ничего особенного. поэтому ошибки работы с БД должны обрабатываться точно так же, как и любые другие ошибки в скрипте, единым обработчиком. 
Чтобы известить пользователя об успешности запроса, никаких специальных действий предпринимать не нужно. 
Просто пишешь код извещения под кодом вставки. 
Если произошла ошибка, то будет показана страница с ошибкой. 
А если все нормально, то выполнится код извещения. Я бы записывал сообщение в сессию, делал редирект ,И показывал из сессии flash message.
И, как правильно написал Defman21 -  никаких exec() - только prepare/execute.
Если это кажется длинным, то взять удобный враппер, код станет значительно короче и читабельнее:$sql = "INSERT INTO comment (news_id, name, message, date, ip) VALUES (?,?,?,?,?)";
DB::run($sql, [$news_id, $name, $message, $date, $ip]);
Оффтоп про ПДО: существуют плейсхолдеры.