코딩을 하다 보면 종종 예기치 못한 오류가 발생하죠.
예를 들어, 사용자가 문자 대신 숫자를 입력해야 하는데 잘못 입력하면 프로그램이 멈춰버릴 수 있어요.
파이썬에서는 이런 상황을 예외 처리(Exception Handling)로 깔끔하게 해결할 수 있어요.
오늘은 try-except 문을 사용해 프로그램이 에러로 멈추지 않고 부드럽게 작동하도록 만들어봅시다.
■ 프로그램이 멈추지 않게 하는 예외 처리 기법
예외 처리는 try-except 블록으로 구성됩니다.
try 안에 예외가 발생할 가능성이 있는 코드를 쓰고,
오류가 발생하면 except가 그 오류를 잡아내요.
# 간단한 예외 처리 예제 try: number = int(input("숫자를 입력하세요: ")) print(f"입력한 숫자는 {number}입니다.") except ValueError: print("잘못된 입력입니다. 숫자를 입력해야 해요!") |
■ 자주 발생하는 오류들
● ZeroDivisionError: 0으로 나눌 때 발생
● ValueError: 잘못된 값이 입력될 때 발생
● IndexError: 리스트의 범위를 벗어날 때 발생
● FileNotFoundError: 없는 파일을 열려고 할 때 발생
■ 예제 : 숫자 입력받아 계산하는 프로그램에 예외 처리 추가하기
아래는 두 숫자를 나눗셈하는 프로그램인데,
나눗셈에서 자주 발생하는 ZeroDivisionError를 처리해볼게요.
try: a = int(input("첫 번째 숫자를 입력하세요: ")) b = int(input("두 번째 숫자를 입력하세요: ")) result = a / b print(f"{a} ÷ {b} = {result}") except ZeroDivisionError: print("0으로 나눌 수 없습니다!") except ValueError: print("숫자를 입력해야 합니다!") |
이 코드는 두 가지 오류를 처리합니다.
● ZeroDivisionError: 두 번째 숫자로 0을 입력할 때
● ValueError: 숫자 외의 값을 입력할 때
■ 예외 처리의 확장 : else와 finally 사용하기
파이썬에서는 else와 finally를 활용해 예외 처리 흐름을 더 세밀하게 다룰 수 있어요.
● else: 오류가 없을 때 실행할 코드
● finally: 오류와 상관없이 항상 실행할 코드
try: number = int(input("숫자를 입력하세요: ")) except ValueError: print("숫자가 아닙니다.") else: print(f"입력한 숫자는 {number}입니다.") finally: print("프로그램을 종료합니다.") |
반응형
'IT > 파이썬 Python' 카테고리의 다른 글
파이썬 입문자도 이해하는 객체 지향 프로그래밍(OOP) (0) | 2024.11.03 |
---|---|
메모는 이제 코드로! 파이썬 입출력 쉽게 이해하기 (5) | 2024.11.02 |
코드 재사용의 왕도! 파이썬 함수와 모듈 사용법 (1) | 2024.10.31 |
집합과 딕셔너리로 파이썬 입문 완성하기 (0) | 2024.10.30 |
파이썬 기초 . 리스트와 튜플 차이점 한 번에 이해하기 (1) | 2024.10.29 |
댓글