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