728x90
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
finally:
무조건 실행할 코드
예외 처리 구문 규칙
- try 구문은 단독으로 사용할 수 없으며, 반드시 except 구문 또는 finally 구문과 함께 사용해야 한다.
- else 구문은 반드시 except 구문 뒤에 사용해야 한다.
가능한 예)
- try + except 구문
- try + except + else 구문
- try + except + finally 구문
- try + except + else + finally 구문
- try + finally 구문
※ finally 구문이 반복문 또는 함수 내부에 있을 때
- finally 구문은 무조건 실행된다.
def test():
print("test() 함수 실행")
try:
print("try 구문 실행")
return
print("try 구문의 return 키워드 뒤")
except:
print("except 구문 실행")
else:
print("else 구문 실행")
finally:
print("finally 구문 실행")
test()
'''
test() 함수 실행
try 구문 실행
finally 구문 실행
'''
while True:
try:
print("반복문 실행")
break
finally:
print("finaaly 구문")
'''
반복문 실행
finaaly 구문
'''
(추가)
예외 객체 사용하기
try:
예외가 발생할 가능성이 있는 구문
except 예외의 종류 as 예외 객체를 활용할 변수 이름:
예외가 발생했을 때 실행할 구문
예외 구분하기
try:
예외가 발생할 가능성이 있는 구문
except 예외의 종류A:
예외A가 발생했을 대 실행할 구문
except 예외의 종류B:
예외B가 발생했을 대 실행할 구문
except 예외의 종류C:
예외C가 발생했을 대 실행할 구문
※ 모든 예외를 잡기 위해서 마지막 except에는 Exception(모든 예외의 부모)을 사용하자!
list_number = list(range(0, 10 + 1))
try:
number_input = int(input("정수 입력 >"))
print("{}번재 요소: {}".format(number_input,list_number[number_input]))
예외.발생해주세요() #예외 발생
except ValueError as e:
print("정수 입력해 주세요")
print(type(e), e)
except IndexError as e:
print("리스트의 인덱스를 벗어남")
print(type(e), e)
#ValueError와 IndexError가 아닌 예외가 발생했을 때 실행된다.
except Exception as e:
print("미리 파악하지 못한 예외 발생")
print(type(e), e)
raise 구문
> 아직 구현되지 않은 부분에서 강제로 예외를 발생시킴
사용법 : raise 예외 객체
'Python 문법' 카테고리의 다른 글
map()함수와 filter()함수 (0) | 2021.07.13 |
---|---|
리스트 list (0) | 2021.05.22 |
조건문 (0) | 2021.05.20 |
문자열이 가진 함수 (0) | 2021.05.19 |
변수와 입력 (0) | 2021.05.19 |