Không có câu trả lời nào ở đây là sai. Nhưng trên thực tế, cả ba kết hợp lại mới là câu trả lời thực sự. Bạn chắc chắn nên đặt
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
như đã nói bởi Cerad .
Từ bây giờ, mọi vấn đề đơn lẻ về bất cứ điều gì liên quan đến cơ sở dữ liệu đều được đưa ra thông qua ngoại lệ của loại PDOException
. Bạn không cần phải ném Exception
của riêng mình như đã nói bởi ladar bởi vì nó vô ích. Chỉ cần dùng thang mã và chuyển đổi nó thành
...
$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';
}
Và KHÔNG tự mình ném bất cứ thứ gì.
Sau đó, một cách rất hay để gỡ lỗi các truy vấn PDO là sử dụng tập lệnh bắt được liên kết bởi Basic mà bạn có thể tìm thấy tại đây một lần nữa.
Kết hợp những thứ này lại với nhau, bạn sẽ có một cách gỡ lỗi linh hoạt, gọn gàng và dễ dàng để bắt tất cả các lỗi có thể xảy ra.