목차


 try-catch

에러 처리를 하기 위한 문법

기본 구조

try {
    // 실행하고 싶은 소스코드를 작성
} catch( Exception $e ) {
    // 에러가 발생 했을 때 실행되는 소스코드를 작성
} finally {
    // 정상처리 또는 에러처리 시에 무조건 실행 되는 소스코드를 작성
}

try {
    $obj_conn = null;
    my_db_conn( $obj_conn );
    $sql = " SELEC * FROM employees LIMIT 5 "; // 에러 메세지를 보기위해 SELECT에서 T를 빠트림
    $stmt = $obj_conn->query( $sql );
    $result = $stmt->fetchAll();
    var_dump( $result );
    echo "Try\n";
} catch( Exception $e ) {
    echo "----에러 발생----\n";
    echo $e->getMessage(); // 에러 메세지를 보고싶을때
    echo "\n----에러 발생----\n";
} finally {
    echo "Finally\n";
    $obj_conn = null;
}
echo "종료";

 

 강제로 에러 일으키기

try {
    $obj_conn = null;
    my_db_conn( $obj_conn );
    $sql = " SELECT * FROM employees WHERE emp_no = 1000000 ";
    $stmt = $obj_conn->query( $sql );
    $result = $stmt->fetchAll();

    // 로그인 했을때 해당 유저가 없을경우, 페이탈 에러가 아니기 때문에 catch문에 들어가지 않음, 강제로 에러 일으키기
    if( count( $result ) === 0 ) {
        // throw Exception : 에러를 강제로 일으키는 구문
        throw new Exception( "쿼리 결과 0건" );
    }

    echo "Try\n";
} catch( Exception $e ) {
    echo "----에러 발생----\n";
    echo $e->getMessage();
    echo "\n----에러 발생----\n";
} finally {
    echo "Finally\n";
    $obj_conn = null;
}
echo "종료";

 

Github

Link

 

'PHP > PHP_ex' 카테고리의 다른 글

Session, Cookie, Token  (0) 2023.05.11
OOP  (0) 2023.05.11
fnc DB connect  (0) 2023.04.03
PDO  (0) 2023.04.03
prepared_statement  (0) 2023.04.03

+ Recent posts