반응형
try - except 문의 문법
- 예외처리exception hadling를 위해 사용
- try 절 - 예외가 발생할 우려가 있는 코드를 입력
- except 절 - 오류가 발생했을 때 처리할 내용을 담음
- 예외가 발생하지 않으면 except를 건너뛰고 예외가 발생하면 오류를 확인하여 except의 매칭되는 부분으로 넘겨준다.
try:
{예외가 발생할 우려가 있는 코드}
except [예외의 타입]:
{예외가 발생할 경우 실행되는 코드}
어떤 예외 상황에 의해서 except가 실행 되었는지 알고 싶은 경우
구체적인 예외를 명시하기
try - except - else 문
- 예외가 발생하지 않을 경우 else문을 사용하여 그 결과값을 출력해 보기
- 예외가 발생하지 않은 경우에 실행되므로 반드시 except절 바로 다음에 위시 해야함
try:
a, b = input('두수를 입력하시오: ').split()
result = int(a)/int(b)
except ZeroDivisionError:
print('오류 : 0으로 나눔을 시도했습니다.')
except ValueError:
print('오류 : 입력 값이 정수나 실수가 아닙니다.')
except:
print('오류 : 10 2와 같이 두 정수를 입력하세요.')
else:
print('{}/{}={}'.format(a,b,result))
try - except - finally문
- except와 else의 차이는 예외의 발생 여부
- finally는 예외의 발생 여부와 상관없이 항상 실행
raise문
- raise를 이용하여 예외 강제로 발생 가능
- raise문에 의해서 Exception이 발생되어 파이썬 인터프리터 프로그램이 그 과정을 추적tradeback했다는 출력이 뜸
get_ans() 함수
- ans라는 매개변수를 통해 문자열을 입력 받음
- if문을 통해 ans가 '예', '아니오' 중 하나가 아니면 raise ValueError('예/아니오를 입력하세요')를 통해 ValueError를 발생
반응형
'study > python' 카테고리의 다른 글
반복자와 생성자 (0) | 2020.12.17 |
---|---|
람다 함수 (0) | 2020.12.17 |
표준 라이브러리사용 (0) | 2020.12.16 |
모듈 (0) | 2020.12.16 |
클래스 상속과 고급 객체 지향 기능 (0) | 2020.12.02 |