코드 실행 시 특정한 사유로 인해 에러가 발생하는 경우 파이썬에서는 스크립트 실행이 중단되어 버린다.
이 때 try, except를 활용해 에러가 발생할 가능성이 있는 예외 상황들을 지정하면 중단 없이 스크립트를 계속 진행시킬 수 있다.
기본 코드:
try:
코드
except:
예외 발생 시 진행할 코드
try:
['a','b'].index('c')
except:
print('Search Failed.')
a와 b라는 원소만 존재하는 리스트에서 c의 인덱스 값을 찾으려고 하고 있으니 당연히 에러가 발생할 수밖에 없다.
이 코드를 실행하면 except 블럭으로 넘어가 코드가 진행된다.
결과:
Search Failed.
특정 예외 상황을 지정해 에러를 처리하도록 할 수도 있다. 이 때, except 뒤에 에러코드를 부여하면 된다.
try:
코드
except 예외코드:
예외 발생 시 진행할 코드
예외코드 종류는 다양하다. ValueError, ZeroDivisionError, IndexError 등등...
내장된 Exceptions 종류와 계층도는 여기서 확인할 수 있다 -> docs.python.org/3.9/library/exceptions.html
위의 예시는 ValueError에 해당하므로 아래와 같이 코드를 작성할 수 있다.
try:
['a','b'].index('c')
except ValueError as e:
print('Search Failed.', e)
이 때, print(e)를 통해 에러 메시지를 출력할 수 있다. 왜 에러가 발생했는지 아는 데 도움이 된다.
결과:
Search Failed. 'c' is not in list
Exception은 최상위 예외코드로 파이썬에 내장된 모든 예외 상황들을 처리할 수 있다.
try:
['a','b'].index('c')
except Exception as e:
print('Search Failed.', e)
결과는 위의 예시와 동일하다.
Search Failed. 'c' is not in list
'Python Basic' 카테고리의 다른 글
문자와 아스키코드 변환: ord(), chr() - Python(파이썬) (0) | 2020.12.03 |
---|---|
List(리스트) slicing(슬라이싱), deep copy(깊은 복사) vs shallow copy(얕은 복사) - Python(파이썬) (0) | 2020.12.03 |
for Loop(반복문) 다양한 활용: range(), List, Tuple, 구구단 만들기- Python(파이썬) (0) | 2020.11.13 |
조건문 if, elif, else CRUD, '=' vs '==' - Python(파이썬) 함수 (0) | 2020.11.05 |
List(리스트) 생성, 추가, 수정, 삭제 list(), append(), remove(), pop() - Python(파이썬) 함수 (0) | 2020.11.05 |