[Python] try-except 예외처리

Gi Woon Lee·2024년 10월 14일

Final Project

목록 보기
5/6

TIL: try-except를 이용한 예외 처리

try-except 구문은 파이썬에서 예외 처리를 위해 사용되는 구조이다. 코드 실행 중 발생할 수 있는 오류를 미리 대비함으로써 프로그램이 갑작스럽게 종료되지 않도록 하고, 적절한 예외 처리를 통해 대응할 수 있게 한다.

예시 코드

try:
    value = int(input('숫자를 입력하세요: '))
    result = 10 / value
    print(result)
except ValueError:
    print("오류 발생")
except ZeroDivisionError:
    print("0으로는 나눌 수 없습니다.")

이 코드는 사용자의 입력을 받아 연산을 수행하는 과정에서 발생할 수 있는 두 가지 예외를 처리하는 구조를 가지고 있다:

  1. ValueError: 사용자가 숫자가 아닌 값을 입력했을 때 발생하는 예외이다.
  2. ZeroDivisionError: 사용자가 0을 입력했을 때, 0으로 나누는 연산을 시도하면 발생하는 예외이다.

동작 과정

  • try 블록: 이 블록 안에 있는 코드는 실행되며, 오류가 발생하지 않을 경우 정상적으로 실행이 완료된다. 이 예시에서는 사용자가 입력한 값을 숫자로 변환하고, 그 값을 이용해 10을 나누는 연산을 수행한다.

  • except ValueError:: 사용자가 숫자가 아닌 값을 입력하여 int() 함수에서 오류가 발생하면, ValueError 예외가 발생하며, 이때 해당 예외를 처리하는 블록이 실행되어 "오류 발생"이라는 메시지를 출력한다.

  • except ZeroDivisionError:: 사용자가 0을 입력하여 0으로 나누는 연산을 시도할 경우, ZeroDivisionError가 발생하며, 이 예외를 처리하는 블록이 실행되어 "0으로는 나눌 수 없습니다."라는 메시지를 출력한다.

예시 실행 결과

  • 정상 입력 (숫자 입력):

    숫자를 입력하세요: 5
    2.0
  • 잘못된 입력 (숫자가 아닌 값 입력):

    숫자를 입력하세요: abc
    오류 발생
  • 0 입력 (0으로 나누기 시도):

    숫자를 입력하세요: 0
    0으로는 나눌 수 없습니다.

요약

try-except 구문은 프로그램 실행 중 발생할 수 있는 예외 상황에 대응하여, 예외 발생 시에도 프로그램이 중단되지 않고 적절히 처리될 수 있도록 한다. 본 예시에서는 ValueErrorZeroDivisionError 예외를 처리함으로써, 사용자 입력에 따른 다양한 예외 상황에 맞는 메시지를 출력하는 방식으로 구현되었다.

0개의 댓글