PHP/PHP_TEST
try-catch_TEST
ldh1123
2023. 4. 4. 21:28
목차
데이터 0건일 경우 "데이터 0건", 다른 에러일 경우 에러메세지 출력
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();
if( count( $result ) === 0 ) {
throw new Exception( "E99" );
}
var_dump( $result );
echo "Try\n";
} catch( Exception $e ) {
if ( $e->getMessage() === "E99" ) {
echo "데이터 0건\n";
} else {
echo "----에러 발생----\n";
echo $e->getMessage();
echo "\n----에러 발생----\n";
}
} finally {
echo "Finally\n";
$obj_conn = null;
}
echo "종료";
주어진 쿼리를 이용해 조건 만족
주어진 쿼리를 이용해서 DB 접속 > data획득 후 출력
try-catch로 에러 처리
에러가 날 경우의 해당 Exception의 에러 메세지를 출력
정상 종료일 경우 "정상 종료" 출력
$sql1 = " SELECT * FROM department ";
try {
$obj_conn = null;
my_db_conn( $obj_conn );
$stmt = $obj_conn->query( $sql1 );
$result = $stmt->fetchAll();
var_dump( $result );
echo "정상 종료\n";
} catch( Exception $e ) {
echo " ---- 에러 발생 ---- \n";
echo $e->getMessage();
echo "\n ---- 에러 발생 ---- \n";
} finally {
$obj_conn = null;
}
$sql2 = " SELECT * FROM dept_manager ";
try {
$obj_conn = null;
my_db_conn( $obj_conn );
$stmt = $obj_conn->query( $sql2 );
$result = $stmt->fetchAll();
var_dump( $result );
echo "정상 종료";
} catch( Exception $e ) {
echo " ---- 에러 발생 ---- \n";
echo $e->getMessage();
echo "\n ---- 에러 발생 ---- \n";
} finally {
$obj_conn = null;
}
// 한번에 하기
$sql1 = " SELECT * FROM department ";
$sql2 = " SELECT * FROM dept_manager ";
try {
$obj_conn = null;
my_db_conn( $obj_conn );
$stmt_1 = $obj_conn->query( $sql1 );
$result_1 = $stmt_1->fetchAll();
// var_dump( $result_1 );
$stmt_2 = $obj_conn->query( $sql2 );
$result_2 = $stmt_2->fetchAll();
// var_dump( $result_2 );
echo "정상 종료";
} catch( Exception $e ) {
echo " ---- 에러 발생 ---- \n";
echo $e->getMessage();
echo "\n ---- 에러 발생 ---- \n";
} finally {
$obj_conn = null;
}
Github