Programming/Python

[Python] 에러 핸들링

goatlab 2023. 6. 20. 15:24
728x90
반응형
SMALL

try-except-finally

 

 

try-except-finally 블럭은 파이썬에서 예외 처리를 위해 사용되는 구문이다.

 

  • try : 예외가 발생할 수 있는 코드 실행
  • except : try에서 예외가 발생했을 떄 실행되는 코드 포함
  • finally : 예외 발생 여부와 관계없이 항상 실행되는 코드, 선택적으로 사용가능

 

기본 예외 처리

 

try:
		# 잘못된 나눗셈 연산을 시도
        result = 10 / 0
        
except ZeroDivisionError:
		print("Error: Division by zero.")

# 프로그램 계속 실행
print("Program continues.")

 

여러 예외 처리

 

try:
		# 잘못된 입력
		number = int("Not a number")
        
except ValueError:
		print("Error: Invalid value.")
        
except TypeError:
		print("Error: Invalid type.")

 

사용자 정의 예외

 

class CustomException(Exception):
    def __init__(self, message):
        self.message = message

try:
    raise CustomException("This is a custom exception")

except CustomException as e :
    print(f"Error: {e.message}")
  • raise 키워드를 통해 CustomException 예외를 발생시킴
  • Error : This is a custom exception이라는 출력 결과를 얻을 수 있음

 

assert문 사용

 

assert 문을 사용하여 조건이 참인지 확인할 수 있다.

 

try:
		number = 5
		assert number > 10, "Number should be greater than 10."
        
except AssertionError as e:
		print(f"Error: e")

 

finally 블록 사용

 

finally 블록을 사용하여 예외 발생 여부와 관계없이 코드를 실행할 수 있다.

 

try:
		result = 10 /2
        
except ZeroDivisionError:
		print("Error: Division by zero.")
        
finally:
		print("This will always execute.")
728x90
반응형
LIST