try, except, finally

SeongGyun Hong·2024년 10월 2일

Python

목록 보기
1/34

1. try 절

정상 실행 코드 포함
예외 발생 가능성 있는 코드 배치

2. except 절

예외 발생 시 실행될 코드
특정 예외 또는 모든 예외 처리 가능
여러 except 절 사용 가능성

3. finally 절

예외 발생 여부와 무관하게 항상 실행
리소스 정리 및 마무리 작업에 활용

4. 주요 특징

  • 예외 상황의 효과적 관리
  • 프로그램 안정성 향상
  • 갑작스러운 중단 방지

5. 사용 시 주의사항

  • 특정 예외 지정 여부 고려
  • 다양한 예외 개별 처리 가능성
  • finally 절의 항상 실행 특성 인지

6. 구체적 예시

6.1 기본구조

try:
    # 실행할 코드
except ExceptionType:
    # 예외 처리 코드
finally:
    # 항상 실행될 코드

6.2 파일 처리의 예시

try:
    file = open("example.txt", "r")
    content = file.read()
    print(content)
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except IOError:
    print("파일을 읽는 중 오류가 발생했습니다.")
finally:
    if 'file' in locals():
        file.close()
    print("파일 처리 작업 완료")

6.3 수학 연산 예시

def divide(a, b):
    try:
        result = a / b
        return result
    except ZeroDivisionError:
        print("0으로 나눌 수 없습니다.")
        return None
    finally:
        print(f"{a}{b}로 나누는 연산 시도 완료")

print(divide(10, 2))  # 정상 케이스
print(divide(5, 0))   # 예외 발생 케이스

6.4 복합 예외 처리 예시

try:
    user_input = input("숫자를 입력하세요: ")
    number = int(user_input)
    result = 100 / number
    print(f"100 / {number} = {result}")
except ValueError:
    print("유효한 숫자를 입력해야 합니다.")
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")
except Exception as e:
    print(f"예상치 못한 오류 발생: {e}")
finally:
    print("프로그램 실행 완료")

tryp-except-finally를 활용하면 디버깅을 좀 잘할 수 있고, 에러 대처능력을 키울 수 있다.

profile
헤매는 만큼 자기 땅이다.

0개의 댓글