1-7-2. 오류 예외처리 및 구분하기
예외 객체
‘종류’
우선 어떤 예외가 있는지 몰라 당황스럽다면
Exception : 모든 예외를 사용해 봅니다.
# try exception 사용하기 try: #숫자로 변환 number_input = int(input("숫자 입력")) # 출력하기 print("원 지름", number_input) print("원 둘레", 2 * 3.14 * number_input) print("원 넓이", 3.14 * number_input ** 2) except Exception as exception: # 객체를 출력해보기 print("type(exception):", type(exception)) print("exception", exception)
큰 규모의 서비스를 구축한다면
내부에서 다양한 오류가 발생하게 됩니다.
오류가 발생할 때 정보들을 메일 등으로 보내도록하여
수집하면 이후 프로그램을 개선하는데 큰 도움이 됩니다.
오류 구분하기
여러가지 오류가 발생할 수 있는 경우
형식
try: 예외가 발생할 가능성이 있는 문구 except 예외 종류 1: 예외1이 발생했을 때 실행구문 except 예외 종류 2: 예외2이 발생했을 때 실행구문
오류를 구분할 때 각각의 except 구문 뒤 객체를 붙여 활용이 가능합니다.
list_number = [11, 22, 33, 44, 55] # try except 구문으로 처리하기 try: # 숫자 입력받기 number_input = int(input("리스트에 숫자 확인하기")) # 리스트 요소 출력 print("{}번째 요소: {}".format(number_input, list_number[number_input])) except ValueError as exception: # ValueError 발생시 print("정수를 입력해 주세요.") print("exception:", exception) except IndexError as exception: print("리스트의 인덱스를 벗어났습니다.") print("exception:", exception)
모든 오류 처리 하기 Exception as exception
list_number = [11, 22, 33, 44, 55] # try except 구문으로 처리하기 try: # 숫자 입력받기 number_input = int(input("리스트에 숫자 확인하기")) # 리스트 요소 출력 print("{}번째 요소: {}".format(number_input, list_number[number_input])) except ValueError as exception: # ValueError 발생시 print("정수를 입력해 주세요.") print("exception:", exception) except IndexError as exception: print("리스트의 인덱스를 벗어났습니다.") print("exception:", exception) except Exception as exception: print("입력, 리스트 외의 오류가 발생하였습니다.") print(type(exception), exception)
raise 구문
아직 구현되지 않은 부분으로
일부러 오류를 발생시켜 프로그램을
다운 시켜서 잊어버리지 않도록 하는 것
raise 키워드가 바로 오류를 강제로 발생시키는 기능
형태
raise로 오류 발생시키기
# 입력을 받기 number = int(input("정수 입력:")) # 조건문 사용 if number > 0: # 양수일 때 raise NotImplementedError else: # 음수일 때 raise NotImplementedError
프로그래밍에서 오류 처리는
단순한 코드의 한 부분이 아니라,
견고하고 안정적인 소프트웨어를 구축하는데 있어 필수적인 요소입니다.
오류 처리를 통해 우리는 예상치 못한 상황과 오류에 대비하며,
이는 사용자 경험을 향상시키고, 애플리케이션의 신뢰성을 높이는 데 크게 기여합니다.
마치 운전 중에 안전벨트를 착용하는 것처럼,
오류 처리는 프로그래밍의 안전벨트와 같습니다.
안전하고 신뢰할 수 있는 소프트웨어를 위해서는
오류 처리가 필수적인 부분입니다.