본문 바로가기
Language/Python

예외 처리 구문

by Mesut Özil 2024. 1. 27.

예외 처리 구문

파이썬에서 예외 처리는 프로그램 실행 중에 발생할 수 있는 오류 예외 상황에 대한 처리 제공합니다.

예외 처리를 통해 프로그램이 비정상적으로 종료되는 것 방지하고, 예외 상황 대한 적절한 대응이 가능합니다.

예외 처리는 try, except, else, finally 등의 키워드를 사용하여 구현됩니다.

 

1. try 블록

  • 예외가 발생할 수 있는 코드를 포함하는 부분
  • 프로그램이 이 블록 내의 코드를 실행하면서 예외가 발생하면, 예외 처리 과정으로 진입

2. except 블록

  • 예외가 발생했을 때 실행되는 블록으로, 특정 예외 타입에 대한 처리를 정의
  • except 블록은 여러 개 사용될 수 있으며, 각각 다른 예외 타입에 대한 처리가 가능
  • except Exception as e: 모든 예외'Exception' 클래스 처리하며, 예외 정보를 변수 'e'에 저장

3. else 블록

  • 예외가 발생하지 않았을 때 실행되는 블록으로, 선택적으로 사용 가능
  • try 블록 안의 코드가 예외 없이 정상적으로 실행되면 else 블록이 실행

4. finally 블록

  • 예외 발생 여부와 상관없이 항상 실행되는 블록으로, 선택적으로 사용 가능
  • 주로 리소스의 정리나 마무리 작업을 위해 활용
try:
    # 예외가 발생할 수 있는 코드 블록
    num1 = int(input("1번째 숫자 입력: "))
    num2 = int(input("2번째 숫자 입력: "))    
    result = num1 / num2
except ZeroDivisionError:
    # 0으로 나누는 경우의 예외 처리
    print("Error: 2번째 숫자는 0이 될 수 없습니다.")
except ValueError:
    # 정수가 아닌 값을 입력한 경우의 예외 처리
    print("Error: 올바른 숫자를 입력하세요.")
else:
    # 예외가 발생하지 않은 경우 실행되는 블록
    print(f"결과: {result}")
finally:
    # 예외 발생 여부와 관계없이 항상 실행되는 블록
    print("프로그램 종료")


# [결과-1]
1번째 숫자 입력: 10
2번째 숫자 입력: 2
결과: 5.0
프로그램 종료

# [결과-2]
1번째 숫자 입력: 8
2번째 숫자 입력: 0
Error: 2번째 숫자는 0이 될 수 없습니다.
프로그램 종료

# [결과-3]
1번째 숫자 입력: 4.3
Error: 올바른 숫자를 입력하세요.
프로그램 종료

 

예외 종류

  • IndexError: 리스트의 인덱스 범위를 초과한 경우
  • NameError: 존재하지 않는 변수함수를 호출한 경우
  • ZeroDivisionError: 0으로 숫자를 나누려고 한 경우
  • ValueError: 변환할 수 없는 문자숫자를 변환한 경우
  • FileNotFoundError: 존재하지 않는 파일을 호출한 경우
  • KeyError: 딕셔너리에서 존재하지 않는 키를 사용한 경우
  • TypeError: 데이터 타입 올바르지 않은 경우
  • SyntaxError: 코드 구문이 잘못된 경우
  • IndentationError: 잘못된 들여쓰기가 있는 경우
  • AttributeError: 객체가 가지고 있지 않은 속성이나 메서드를 사용하려는 경우
  • Exception: 모든 예외'Exception' 클래스로 처리하는 경우

 

 

본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.

'Language > Python' 카테고리의 다른 글

NumPy 함수와 메서드  (0) 2024.01.30
문자열의 정렬 및 패딩 매서드  (0) 2024.01.29
Dictionary 메서드  (0) 2024.01.25
List 메서드  (0) 2024.01.24
iloc와 loc (인덱싱)  (0) 2024.01.18