Python에서는 raise 문을 사용하여 예외를 발생시킬 수 있습니다. 예외는 특정 오류 상황을 나타내는 객체로, 프로그램의 정상적인 흐름을 중단하고 예외 처리 코드로 제어를 이동시킵니다.
Table Of Contents
1. raise 문
다음은 ValueError 예외를 발생시키는 간단한 Python 코드입니다
raise ValueError("This is an error message")
위 코드는 ValueError 예외를 발생시키고, "This is an error message"라는 오류 메시지를 함께 전달합니다.
2. try/except 문
위와 같이 발생하는 예외는 try/except 블록으로 잡아낼 수 있습니다
try:
raise ValueError("This is an error message")
except ValueError as e:
print(f"Caught an exception: {e}")
위 코드는 ValueError 예외를 발생시키고, 이를 except 블록에서 잡아냅니다. 잡아낸 예외는 변수 e에 할당되고, 이를 사용하여 오류 메시지를 출력합니다. 이렇게 하면 예외가 발생했을 때 프로그램이 즉시 종료되는 것을 방지하고, 대신 예외를 적절하게 처리할 수 있습니다.
아래와 같이 에러를 Exception으로 받아서 처리하고 raise를 통해 예외를 상위로 전파할 수도 있습니다.
try:
loadItems = (1 in w_ids)
l = loader.Loader(driver, scaleParameters, w_ids, loadItems)
driver.loadStart()
l.execute()
driver.loadFinish()
except KeyboardInterrupt:
return -1
except (Exception, AssertionError) as ex:
logging.warn("Failed to load data: %s", ex)
raise
3. assert 문
반면 Python에서 assert 문은 주어진 조건이 참인지 확인하고, 그렇지 않으면 AssertionError를 발생시킵니다.
다음은 all_customers의 길이가 0이거나 그 이하 인지를 검사하는 코드입니다:
assert len(all_customers) <= 0
이 코드는 all_customers의 길이가 0이거나 그 이하일 때만 실행을 계속하며, 그렇지 않으면 AssertionError를 발생시킵니다. 만약 상위에 AssertionError에대한 예외 핸들러가 있다면 핸들러를 통해 처리됩니다.
'개발' 카테고리의 다른 글
플러터 앱 개발 시작하기 - flutter app development start (0) | 2024.01.10 |
---|---|
파이썬 문자열 슬라이싱 하는 방법 - 예제 및 실전 연습 (0) | 2024.01.03 |
Git(Github)에서 리포지토리 정보를 확인하는 방법 (1) | 2024.01.03 |
안드로이드 스튜디오 에뮬레이터로 flutter 앱 실행하기 (0) | 2024.01.02 |
Git(github) 사용자(username) 및 이메일(email) 등록, 자격 증명 저장하기 - 안물어보게 설정하기 (0) | 2023.12.19 |