01 구문오류와 예외
02 예외 처리 방법
03 예외 객체
04 강제로 예외를 발생시키는 방법
#03 예외 객체
코드를 실행 중 오류가 발생하면 만들어진 것으로,
오류 발생과 관련한 정보를 가지고 있음
📍예외객체를 참조해 예외객체의 타입과 오류 메세지를 확인하는 방법
try문에서 예외상황이 발생되면 가장 가까이에 있는 except문이 실행
except Exception as ex # -> 에러의 한 종류!
print("{0}: {1}".format(type(ex), ex))
# -> ex는 발생한 에러의 이름을 받아오는 함수이므로
# 발생한 에러의 타입과 그 에러를 출력함
📍다중 except 문 사용해서 예외 객체에 따른 처리를 분기 시켜주기
01_except ValueError as ve
숫자 값이 아닐때 에러
02_except ZeroDivisionError as ze
분모가 0일때 에러
result = x/y # 에서 y에 0이 저장되어 있을 경우
# 제수가 0이 되어 ZeroDivisionError 발생
03_그 외
04_문제없이 잘 실행 되었을 경우
#04 강제로 예외를 발생시키는 방법
런 타임에 의해서가 아니라 특정 조건에서 예외 객체를 만들어 예외를 일으킬 수 있다.
이때 예외 객체의 오류 메시지를 전달할 수 있다.
📍raise문을 이용한 강제 예외 발생
isdigit() #2행에서는 w와 h가 숫자 문자 형식의 문자열인지 검사
# 3행에서는 숫자 문자 형식의 문자열일 경우 int()함수로
# 정수 변환 후 곱셈 연산의 결과 반환
# 4~5행의 경우 raise 문을 이용해 강제로 ValueError 예외 상황을 일으킴
# 12행의 try는 두 변수의 값을 calc_area 함수에 인자로 전달해
# 면적 값을 구해 변수 area에 저장
# 인자로 전달된 값이 숫자 형식의 문자열이 아닐 경우 ValueError 예외를 일으킴
01_ValueError 예외 발생 시
03_else문 실행
except ValueError as ve: # ValueError 예외상황 발생 시
except Exception as ex: # ValueError 이외의 예외상황 발생 시
# 예외 객체를 Exception as ex 코드를 사용해 except문의 블록에서 ex로 참조
else # try문에서 예외가 발생하지 않으면 폭, 높이, 면적이 값을 출력
finally # 예외 발생 여부와는 상관 없이 실행 됨
'Study > Python' 카테고리의 다른 글
문자열 정수형으로 바꾸기, 데이터 타입(자료형) 확인하기 (0) | 2022.12.09 |
---|---|
현재시간 가져오기 (0) | 2022.12.09 |
#10_Python_1예외처리:구문오류와 예외, 예외 처리 방법 (0) | 2022.11.26 |
#9_Python_3내장함수:실행 관련 함수 (0) | 2022.11.16 |
#9_Python_2내장함수:변환함수, 객체 조사를 위한 함수 (0) | 2022.11.16 |