728x90
반응형
Python 오류
- 구문 오류(syntax error)
- 예외(exception)
- docs.python.org/3/library/exceptions.html
예외 처리(Exception Handling)
try-except-finally 구문
try:
예외 발생이 예측되는 코드
except<예외 종류>:
예외 처리를 수행하는 구문
finally:
마지막에 항상 수행되는 구문
Python 예외 계층 구조
- 상위 범주의 예외처리를 통한 에러 해결
- docs.python.org/ko/3/library/exceptions.html#exception-hierarchy
상위 범주 예외 처리: BaseException에 준하는 Exception을 이용하여 except 절에서 대부분 예외 처리 가능
def get(key, dataset):
try:
value = dataset[key]
# 여러 에외를 동일하게 처리
except (KeyboardInterrupt, SystemExit):
print("keyboard interrupt or System Exit 에러")
# 하위 범위의 예외 동시 처리
except Exception as error_message:
print("look up 에러")
return error_message
else:
return value
print('1. ', end='\t')
print('반환값: ', get(key=3, dataset=(1,2,3)))
print('2. ', end='\t')
print('반환값: ', get(key='age', dataset={'name':'test'}))
>>
1. look up 에러
반환값: tuple index out of range
2. look up 에러
반환값: 'age'
raise 문
- raise 예외클래스('에러 메세지')
- 특정 예외를 의도적으로 발생
- Exception 클래스를 상속하는 방식으로 통해 사용자 예외 클래스를 만들 수 있음
- 예외의 최상위 클래스는 BaseException이나 일반적으로 잘 사용하지 않음
- 프로그램이 정상적으로 실행될 수 없는 상황일 때 예외를 발생시켜 프로그래머 또는 사용자에게 알림
class MyExceptionError(Exception):
"""Customer Exception"""
pass
try:
raise MyExceptionError('Customer Error Message')
except MyExceptionError as error_msg:
print(error_msg)
>>
Customer Error Message
assert 문
- assert 검증식, 오류 메시지
- 검증식의 상태를 검증하기 위한 명령어
- 검증식을 계산하여 결과가 참일 때에는 이후 절차로 진행, 거짓일 경우에는 AssertionError 예외 발생
- 예상치 못한 이벤트가 발생함을 가리키는 것 보다는 내부적으로 정확성을 보장하기 위해 사용하는 것
References
728x90
반응형
'Python > Python 기초' 카테고리의 다른 글
[Python] Python Module (0) | 2021.02.24 |
---|---|
[Python] Python Built-in Functions (0) | 2021.02.24 |
[Python] Python Class (0) | 2021.02.23 |
[Python] Python File (0) | 2021.02.23 |
[Python] Python Function (0) | 2021.02.23 |