개발/파이썬

Python #12_예외 처리

onivv 2024. 7. 15. 16:19
반응형

#01 예외 처리의 필요성

✅ 예외와 오류

  • 예외(exception)란 프로그램에 존재하는 오류(error)를 의미
  • 개발자가 직접 처리할 수 있는 간단한 문제 '예외', 개발자가 처리할 수 없는 복잡한 문제 '오류'

✅ 예외 처리의 필요성

  • 프로그램의 비정상 종료를 예방하기 위함
  • 데이터 가공 작업 중에 에러, 예외 등이 발생
    1) 무시하고 계속 2) 처리
    어떠한 데이터가 입력되어도, 전체 프로그램은 멈춰서는 안됨

 

#02 예외 처리

✅ 예외의 종류

  • 기본적으로 모든 예외 클래스는 BaseException 클래스의 서브 클래스
  • BaseException 클래스의 서브 클래스 중에는 Exception 클래스가 있는데,
    대부분의 예외 클래스는 Exception 클래스의 서브 클래스
No 예외 클래스 의미
1 BaseException 최상위 예외 클래스
2 Exception 대부분 예외 클래스의 슈퍼 클래스
3 ArithmeticError 산술 연산 문제
4 AttributeError 잘못된 속성 참조
5 EOFError 파일에서 더 이상 읽어 들일 데이터가 없을 때
6 ModuleNotFoundError import할 모듈이 없을 때
7 FileNotFoundError 존재하지 않는 파일일 때
8 IndexError 잘못된 인덱스를 사용할 때
9 NameError 잘못된 이름(변수)을 사용할 때
10 SyntaxError 문법을 틀렸을 때
11 TypeError 계산하려는 데이터의 유형이 잘못됐을 때
12 ValueError 계산하려는 데이터의 값이 잘못됐을 때

 

✅ 예외 처리 방식

더보기

1) 모든 예외 처리

try:
    코드 작성 영역
except:
    예외 발생 시 처리 영역

 

2) 특정 예외만 처리

try:

    ....

except 특정예외명:

    ....

except Exception:

    예상하지 못한 예외 모두 처리

 

3) 예외 메시지 처리

try:
    코드 작성 영역
except 예외 as 예외 메시지:
    예외 발생 시 처리 영역

 

4) else문 & finally문

try:
    코드 작성 영역
except:
    예외 발생 시 처리 영역

else:

    예외가 없을 때 처리 영역

finally:

    언제나 실행되는 영역

예외가 발생되면 그 즉시 프로그램 종료
모든 예외 처리
특정 예외 처리
예외가 발생하지 않은 경우 처리

 

반응형

'개발 > 파이썬' 카테고리의 다른 글

Python #13_데이터 시각화  (0) 2024.07.15
Python_파이참(PyCharm)  (0) 2024.07.15
Python #10_파일 입출력 (+ 슬라이싱 Slicing)  (0) 2024.07.15
Python #09_모듈과 import  (0) 2024.07.15
Python #08_사용자 정의 함수  (0) 2024.07.15