파이썬 에러 및 예외 처리
문법적으로 에러가 없지만, 코드 실행(런타임) 프로세스에서 발생하는 예외 처리도 중요함.
linter: 소스 코드를 분석해 오류나 오타, 잠재적인 버그를 찾아주는 도구이다.
# 예외 종류
- SyntaxError: 문법 오류
- NameError: 참조 변수가 없는 경우 발생
- ZeroDivisionError: 0으로 나누는 경우 발생
- IndexError(Index out of range): 인덱스 범위 Over
- KeyError: 정의되지 않은 Key 조회 시 발생
- AttributeError: Module, Calss 잘못된 속성 사용 시 발생
- ValueError : 참조값이 없는 경우 발생
- FileNotFoundError: no serarch file or directiory(외부 파일 처리)
- TypeError: 형 변환 오류
예외 처리에 적합한 EAFP 코딩 스타일을 기본으로 한다.
LBYL(Look Before Your Leap) 코딩 스타일
: 뛰기 전에 살펴보라: 어떤 작업 전에 확인을 거치는 코딩 스타일
def test_code():
if applycode(): // 확인
else:
EAFP(Easier to Ask fro Forgiveness than Permission) 코딩 스타일
: 항상 예외가 발생하지 않을 것으로 가정하여 먼저 코딩을 하고, 그 후 문제가 발생하면 예외 처리한다는 코딩 스타일
def test_code
...
try:
...
except:
...
else:
...
finally:
...
- try문은 실행할 코드, 에러가 발생할 가능성이 있는 코드를 기입한다.
- except(except Exception) 문은 예외처리를 통해 에러가 발생할 때의 대비책을 만들어준다.
- else문은 에러가 발생하지 않을 경우 실행된다.
- finally문은 항상 실행된다.
자주 사용되는 코딩 스타일
: 예외 처리는 하지 않고 무조건 수행되는 코딩 스타일
try:
finally:
raise
: 직접 예외가 발생이 되도록 설정
try:
a = 'Kang'
if a == 'kang':
...
else:
raise valueError
'Programming 개발은 구글로 > Python' 카테고리의 다른 글
[파이썬] 웹 크롤링 및 스크랩핑 주의사항 (0) | 2022.06.10 |
---|---|
[파이썬] 웹 크롤링 vs 웹 스크랩핑 (0) | 2022.06.09 |
댓글