티스토리 뷰

728x90
반응형

프로그래밍을 하다 보면 예기치 않은 오류가 발생하는 경우가 많습니다. 이러한 오류를 적절히 처리하지 않으면 프로그램이 중단되거나 잘못된 결과를 초래할 수 있습니다. 파이썬에서는 예외 처리(Exception Handling)를 통해 이러한 오류를 효과적으로 관리할 수 있습니다. 이번 글에서는 예외 처리의 기본 개념과 사용법, 그리고 다양한 예제를 통해 초보자도 쉽게 이해할 수 있도록 설명하겠습니다.

1. 예외란?

예외는 프로그램 실행 중에 발생하는 오류를 의미합니다. 예외가 발생하면 파이썬 인터프리터는 프로그램의 실행을 중단하고, 오류 메시지를 출력합니다. 예외를 적절히 처리하면 프로그램이 중단되지 않고, 사용자에게 이해할 수 있는 메시지를 제공할 수 있습니다.

2. 예외 처리의 기본 구조

파이썬에서 예외 처리는 try, except 블록을 사용하여 수행합니다. 기본적인 구조는 다음과 같습니다:

python

try:
    # 오류가 발생할 가능성이 있는 코드
except 예외타입:
    # 예외가 발생했을 때 실행할 코드

2.1 예외 처리 예제

아래는 사용자가 입력한 숫자를 10으로 나누는 간단한 예제입니다. 사용자가 잘못된 입력을 했을 때 발생하는 예외를 처리합니다.

python

try:
    user_input = int(input("숫자를 입력하세요: "))
    result = 10 / user_input
except ValueError:
    print("유효한 숫자를 입력하세요.")
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")
else:
    print("결과:", result)

결과 예시 (사용자가 'a' 입력 시):

 
유효한 숫자를 입력하세요.

결과 예시 (사용자가 0 입력 시):

 
0으로 나눌 수 없습니다.

결과 예시 (사용자가 5 입력 시):

 
결과: 2.0

3. 여러 개의 예외 처리

하나의 try 블록에서 여러 개의 예외를 처리할 수 있습니다. 아래 예제에서는 ValueError와 ZeroDivisionError를 동시에 처리합니다.

python

try:
    user_input = int(input("숫자를 입력하세요: "))
    result = 10 / user_input
except (ValueError, ZeroDivisionError) as e:
    print("오류 발생:", e)
else:
    print("결과:", result)

결과 예시 (사용자가 'a' 입력 시):

 
오류 발생: invalid literal for int() with base 10: 'a'

결과 예시 (사용자가 0 입력 시):

 
오류 발생: division by zero

4. finally 블록

finally 블록은 예외 발생 여부와 관계없이 항상 실행되는 코드 블록입니다. 주로 자원 정리 작업에 사용됩니다.

python

try:
    file = open("test.txt", "r")
    # 파일 읽기 작업
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")
finally:
    print("파일 처리 완료.")

결과 예시 (파일이 존재하지 않을 때):

 
파일이 존재하지 않습니다.
파일 처리 완료.

5. 사용자 정의 예외

특정 상황에서 발생하는 오류를 사용자 정의 예외로 처리할 수 있습니다. 아래 예제에서는 입력값이 음수일 때 예외를 발생시킵니다.

python

try:
    user_input = int(input("0 이상의 숫자를 입력하세요: "))
    if user_input < 0:
        raise ValueError("음수는 허용되지 않습니다.")
    result = 10 / user_input
except ValueError as e:
    print("오류 발생:", e)
else:
    print("결과:", result)

결과 예시 (사용자가 -1 입력 시):

 
오류 발생: 음수는 허용되지 않습니다.

결과 예시 (사용자가 5 입력 시):

 
결과: 2.0

결론

예외 처리는 프로그램의 안정성을 높이는 중요한 요소입니다. 이번 글에서 소개한 try, except, else, finally 블록과 사용자 정의 예외를 활용하여 오류를 효과적으로 관리할 수 있습니다. 예외 처리 기법을 잘 활용하면 보다 견고하고 신뢰할 수 있는 프로그램을 만들 수 있습니다. 파이썬의 매력을 느끼며 코딩 실력을 키워 나가세요!

728x90
반응형