본문 바로가기
IT/Python Basic

[Python] 초급 개념10 - 예외 처리 (try-except)

by Echinacea 2025. 2. 18.
반응형

파이썬에서 예외(Exception)는 프로그램 실행 중 발생할 수 있는 오류를 의미합니다. try-except 문을 사용하면 예외를 처리하여 프로그램이 중단되지 않도록 할 수 있습니다.


 

 

🔹 1. 기본 예외 처리

try-except 블록을 사용하여 예외를 처리할 수 있습니다.

 

기본 예외 처리 문법

try:
    num = int(input("숫자를 입력하세요: "))
    print(10 / num)  # 0 입력 시 예외 발생
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다!")
except ValueError:
    print("숫자를 입력해야 합니다!")

📌 설명:

  • ZeroDivisionError: 0으로 나누려 할 때 발생하는 예외
  • ValueError: 입력값이 숫자가 아닐 때 발생하는 예외

 

 

🔹 2. 모든 예외 처리 (Exception)

특정 예외를 지정하지 않고 모든 예외를 처리할 수도 있습니다.

 

모든 예외 처리하기

try:
    result = 10 / int(input("숫자를 입력하세요: "))
    print(result)
except Exception as e:
    print(f"오류 발생: {e}")

📌 설명:

  • Exception as e를 사용하면 발생한 오류 메시지를 출력할 수 있음
  • 너무 광범위한 예외 처리는 디버깅을 어렵게 만들 수 있음

 

 

🔹 3. elsefinally

else 블록은 예외가 발생하지 않았을 때 실행됩니다. finally 블록은 예외 발생 여부와 관계없이 항상 실행됩니다.

 

elsefinally 활용하기

try:
    num = int(input("숫자를 입력하세요: "))
    result = 10 / num
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다!")
else:
    print("연산 성공! 결과:", result)
finally:
    print("프로그램 종료")

📌 설명:

  • else: 예외가 발생하지 않으면 실행됨
  • finally: 무조건 실행됨 (예외 발생 여부와 상관없음)

 

 

🔹 4. 사용자 정의 예외

직접 예외를 정의하여 특정 조건에서 예외를 발생시킬 수도 있습니다.

 

사용자 정의 예외 만들기

class NegativeNumberError(Exception):
    pass

try:
    num = int(input("양수를 입력하세요: "))
    if num < 0:
        raise NegativeNumberError("음수는 허용되지 않습니다!")
    print("입력한 숫자:", num)
except NegativeNumberError as e:
    print("오류 발생:", e)

📌 설명:

  • raise를 사용하여 예외를 강제로 발생시킬 수 있음
  • NegativeNumberError는 사용자가 정의한 예외 클래스

 

 

🔹 5. 마무리

이번 문서에서는 파이썬의 예외 처리 방법을 학습했습니다.

핵심 요약

  • try-except 문을 사용하여 예외를 처리할 수 있음
  • except에 특정 예외 유형을 지정하여 처리 가능
  • else는 예외가 발생하지 않았을 때 실행됨
  • finally는 항상 실행됨
  • raise를 사용하여 사용자 정의 예외를 발생시킬 수 있음
반응형

댓글