[c++] C++ 예외 처리의 활용 사례

C++에서 예외 처리는 프로그램이 예기치 않은 상황에 대처할 수 있도록 하는 중요한 기능입니다. 이번에는 C++에서의 예외 처리의 활용 사례에 대해 살펴보겠습니다.

1. 파일 입출력에서의 예외 처리

파일 입출력 중에 에러가 발생할 수 있습니다. 가령, 파일이 존재하지 않거나 읽기 권한이 없는 경우 등이 그런 경우에 해당합니다. 이때 C++의 예외 처리를 활용하여 이러한 상황에 대비할 수 있습니다.

#include <fstream>
#include <iostream>

int main() {
    std::ifstream file("example.txt");
    try {
        if (!file.is_open()) {
            throw std::runtime_error("파일을 열 수 없습니다.");
        }
        // 파일 읽기와 관련된 작업 수행
    } catch (const std::exception& e) {
        std::cerr << "에러 발생: " << e.what() << std::endl;
    }
    return 0;
}

위 코드에서는 파일을 열지 못했을 때 std::runtime_error를 던지고, catch 블록에서 해당 예외를 처리하고 있습니다.

2. 동적 메모리 할당에서의 예외 처리

동적으로 메모리를 할당할 때 메모리가 부족한 상황이 발생할 수 있습니다. C++에서는 new 연산자를 이용해 메모리를 동적으로 할당하고, 이때 발생하는 예외를 처리할 수 있습니다.

try {
    int* array = new int[1000000000000];
    // 메모리 할당과 관련된 작업 수행
    delete[] array;
} catch (const std::bad_alloc& e) {
    std::cerr << "메모리가 부족합니다: " << e.what() << std::endl;
}

위 코드에서는 new 연산자로 메모리를 할당했을 때 발생할 수 있는 std::bad_alloc 예외를 처리하고 있습니다.

C++의 예외 처리는 이 외에도 다양한 상황에서 활용될 수 있습니다. 프로그램이 예기치 않은 상황에 대응하고 안정적으로 동작할 수 있도록 적절히 활용하는 것이 중요합니다.

참고 문헌: