Backend/Python

[Python] Exception Handling

sangwonYoon 2023. 3. 8. 00:52

파이썬에서 예외를 처리하는 방법에 대해서 알아보자.


try ~ except ~ else ~ finally

try:
	예외가 발생할 수 있는 코드
except <Exception Type> as e:
	예외 발생 시 동작할 코드
else:
	예외가 발생하지 않을 때 동작할 코드
finally:
	예외 발생 여부와 상관없이 동작할 코드

finally 블록의 경우, 항상 실행되는 것이 아니라, finally와 연결된 try 블록으로 진입하게 되면, 반드시 실행된다.

DB나 파일 처리 시 finally 블록에서 DB 또는 파일 연결을 끊어줘야 한다.

 

raise

예외를 발생시킨다.

raise <Exception Type>(예외정보)
While True:
	value = input("정수 값을 입력해주세요")
	for digit in value:
		if digit not in "0123456789":
			raise ValueError("정수 값을 입력하지 않으셨습니다.")
	print(f"{value}를 입력하셨습니다.")

 

assert

조건식이 False인 경우, AssertionError를 발생시킨다.

assert 예외조건
def get_binary_number(decimal_number):
	# deciaml_number가 정수가 아닌 경우, 예외 발생
	assert isinstance(deciaml_number, int)
	return bin(deciaml_number)

 

'Backend > Python' 카테고리의 다른 글

코드 스타일 통일을 위해 Black 적용하기  (0) 2023.04.26
[Python] File Handling  (0) 2023.03.08
[Python] 모듈과 패키지  (0) 2023.03.08
[Python] decorator  (0) 2023.03.07
[Python] closure  (0) 2023.03.07