Tidak ada jawaban di sini yang salah. Tapi sebenarnya ketiganya digabungkan adalah jawaban yang sebenarnya. Anda pasti harus mengatur
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
seperti yang dikatakan oleh Cerad .
Mulai sekarang setiap masalah tentang apa pun tentang basis data dilemparkan melalui pengecualian jenis PDOException
. Anda hanya tidak perlu membuang Exception
Anda sendiri seperti yang dikatakan oleh ladar karena itu tidak berguna. Ambil saja ladar kode dan mengubahnya menjadi
...
$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';
}
Dan JANGAN membuang apa pun sendiri.
Kemudian cara yang sangat bagus untuk men-debug kueri PDO adalah menggunakan skrip tangkap yang ditautkan oleh Basic yang dapat Anda temukan di sini sekali lagi.
Menggabungkan hal-hal ini bersama-sama, Anda akan memiliki cara yang fleksibel, bersih, dan mudah di-debug untuk menangkap semua kesalahan yang mungkin terjadi.