finally 블록의 특징으로 올바른 것은?

과목: PHP

문제 번호: 2980

medium
finally 블록의 특징으로 올바른 것은?
try {
    riskyOperation();
} catch(Exception $e) {
    handleError($e);
} finally {
    cleanup();
}
A. 예외가 발생했을 때만 실행됨
B. catch 블록이 없으면 실행되지 않음
C. 예외 발생 여부와 관계없이 항상 실행됨
D. try 블록이 성공했을 때만 실행됨

정답: C



finally 블록은 예외 발생 여부와 상관없이 반드시 실행되는 코드 블록입니다.

⦁ finally 블록의 실행 조건:
⦁ 예외가 발생하지 않은 경우: try → finally
⦁ 예외가 발생한 경우: try → catch → finally
⦁ catch 블록이 없어도 finally는 실행됨

⦁ finally 블록의 주요 용도:
⦁ 자원 해제 (파일 닫기, 데이터베이스 연결 종료)
⦁ 정리 작업 (임시 파일 삭제, 로그 기록)
⦁ 상태 복원 (설정값 되돌리기)

⦁ 실무 예시:
try {
    $file = fopen("data.txt", "r");
    processFile($file);
} catch(Exception $e) {
    logError($e);
} finally {
    if ($file) fclose($file); // 항상 파일 닫기
}

💡 학습 팁

이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.