내 클래스 메서드에서 try/catch 블록을 사용합니다. 예외가 발생하면 오류가 기록됩니다. 하지만 "사용자"에게 데이터베이스 쿼리/실패 등을 알려주고 싶습니다. 문제는 곧 수정되어야합니다. 내 메서드에서 Exception에 die()를 사용할 수는 있지만 DRY가 아닐 수 있습니다. 다시 입력해야하므로 입력 할 수있는 방법에 대한 제안이 필요합니다.글로벌 PHP PDO 처리 오류
예시적인 방법 :
public function login($username, $password) {
try {
$this->STH = $this->DBH->prepare("SELECT id, baned, activated FROM users WHERE username = ? AND password = ?");
$this->STH->setFetchMode(PDO::FETCH_OBJ);
$this->STH->execute(array($username, $password));
if (($row = $this->STH->fetch()) !== false)
return $row;
} catch (PDOException $e) {
//Log $e->getMessage();
die('A database error occoured, we are working on the problem, and it should work in a few...');
}
}
, 아니 결과가 출력되지 않습니다, 나는 않았던 오류가 의도적으로 발생했습니다 .. – John
해당 처리기는 검색되지 않은 예외에 대해서만 호출되므로 코드의 예외를 이미 catch 한 경우 전역 처리기에서이를 catch 할 수 있도록 예외를 다시 throw해야합니다. – rabusmar
어떻게 할 수 있습니까? – John