Нито един от отговорите тук не е грешен. Но всъщност и трите комбинирани са истинският отговор. Определено трябва да зададете
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
както казаCerad .
Оттук нататък всеки отделен проблем за нещо, свързано с базата данни, се хвърля чрез изключение от тип PDOException
. Просто не е нужно да хвърляте собствено Exception
както казаладара защото е безполезно. Просто вземете ладара код и го преобразувайте в
...
$data = array();
$model = new BlogModel;
try{
$model->save(2,'test');
$data['result']['message'] = 'Settings saved';
$data['result']['status'] = 'success';
}catch(PDOException $e){
$data['result']['message'] = 'Could not save the settings';
$data['result']['status'] = 'error';
}
И НЕ хвърляйте нищо сами.
Тогава един много приятен начин за отстраняване на грешки в PDO заявки е използването на скрипта catch, свързан с Basic че можете да намерите тук още веднъж.
Комбинирайки тези неща заедно, ще имате гъвкав, чист и лесен начин за отстраняване на грешки за улавяне на всички грешки, които могат да дойдат.