PHP 개발에서 오류 및 예외 처리는 애플리케이션 안정성을 보장하는 중요한 기술입니다. 오류와 예외를 적절하게 관리하면 프로그램 충돌을 방지하고 명확한 피드백을 제공할 수 있습니다.
오류는 일반적으로 예상치 못한 상황보다는 구문이나 논리 문제로 인해 발생합니다. PHP에서 오류가 발생하면 오류 메시지를 생성하고 스크립트 실행을 종료할 수 있습니다.
개발자는 error_reporting() 을 통해 보고할 오류 유형을 설정하고 set_error_handler() 를 통해 사용자 정의 오류 처리 기능을 정의할 수 있습니다.
error_reporting(E_ALL); // 모든 오류 유형 보고
function error_handler($errno, $errstr, $errfile, $errline) {
// 사용자 정의 오류 처리 논리
echo "Error: $errstr in $errfile on line $errline";
}
set_error_handler('error_handler');
예외는 존재하지 않는 파일에 액세스하거나 데이터베이스 오류 등 프로그램이 실행되는 동안 발생할 수 있는 특수 이벤트입니다. 오류와 달리 예외는 프로그램을 즉시 종료하지 않습니다.
try-catch 구조를 사용하여 예외를 포착할 수 있습니다. try 블록에는 예외를 발생시킬 수 있는 코드가 포함되어 있으며, catch 블록은 예외 논리를 처리합니다.
try {
// 예외를 발생시킬 수 있는 코드
throw new Exception('Error occurred');
} catch (Exception $e) {
// 예외 처리 논리
echo "Exception: " . $e->getMessage();
}
다음 예에서는 데이터베이스 연결이 실패할 때 예외 처리를 사용하는 방법을 보여줍니다.
try {
$conn = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'password');
// 쿼리 또는 기타 데이터베이스 작업 수행
} catch (PDOException $e) {
echo "Database connection failed: " . $e->getMessage();
}
예외 처리를 통해 애플리케이션은 데이터베이스 연결 실패에 적절하게 응답하고 사용자에게 귀중한 프롬프트 정보를 제공할 수 있습니다.