코딩헤딩

python 기초 12 (예외처리) 본문

python

python 기초 12 (예외처리)

멈머이 2023. 11. 10. 00:34
728x90

 

예외처리에 대해 바드에게 물어봤다.

"파이썬에서 예외처리(exception handling)는 프로그램 실행 중 발생할 수 있는 예외를 처리하는 방법입니다. 예외는 프로그래머의 실수나 예상치 못한 상황으로 인해 발생할 수 있습니다."라고 한다.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

10 / 0

결과 : ZeroDivisionError: division by zero

에러가 뜨며 프로그램이 죽는다.

try:
    a = 10 / 0
except ZeroDivisionError as e:
    print(e)

결과 : division by zero

예외처리를 하며 그와 관련된 예외처리결과를 알려준다.

 

a = [1, 2, 3, 4, 5]
b = 6
try:
    print(a.index(b))
except Exception as e:
    print('인덱스 오류')

결과 : 인덱스 오류

인덱스가 0~4번까지만 있기 때문에 오류가 뜬다. 이 오류를 예외처리 해주며 오류를 출력해 주고 있다.

 

try:
    print(a.index(b))
except Exception as e:
    print('인덱스 오류')
else:
    print('오류가 없으면 실행')
finally:
    print('오류가 나더라도 꼭 실행!')

결과 : 인덱스 오류
          오류가 나더라도 꼭 실행!

finally는 오류발생 시 예외처리가 실행되며 프로그램이 죽기 전에 finally이하의 코드는 무조건 실행하도록 한다.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

*예외의 종류

  • ArithmeticError : 산술 연산 중에 발생하는 예외
  • AssertionError : assert 키워드를 사용하여 표현식이 거짓일 때 발생하는 예외
  • AttributeError : 객체에 없는 속성을 참조할 때 발생하는 예외
  • EOFError : 파일의 끝에 도달했을 때 발생하는 예외
  • FileNotFoundError : 파일이 존재하지 않을 때 발생하는 예외
  • FloatingPointError : 부동 소수점 연산 중에 발생하는 예외
  • IndexError : 배열의 인덱스가 범위를 벗어날 때 발생하는 예외
  • KeyError : 딕셔너리의 키가 존재하지 않을 때 발생하는 예외
  • KeyboardInterrupt : 사용자가 Ctrl+C를 눌렀을 때 발생하는 예외
  • LookupError : 리스트, 튜플, 딕셔너리 등에서 요소를 찾을 수 없을 때 발생하는 예외
  • MemoryError : 메모리가 부족할 때 발생하는 예외
  • NameError : 정의되지 않은 변수나 함수를 참조할 때 발생하는 예외
  • OSError : 운영 체제에서 발생하는 예외
  • OverflowError : 정수 연산 중에 발생하는 오버플로우 오류
  • ReferenceError : 참조된 객체가 존재하지 않을 때 발생하는 예외
  • RuntimeError : 기타 예외로 분류되지 않는 예외
  • SyntaxError : 파이썬 문법 오류로 인해 발생하는 예외
  • TypeError : 올바른 형식의 값이 아닌 값을 사용했을 때 발생하는 예외
  • ValueError : 올바른 값이 아닌 값을 사용했을 때 발생하는 예외
728x90