try : 실행할 코드
except : 에러가 발생했을 시 실행되는 부분
else : 에러가 발생하지 않았을 시 실행되는 부분
finally : 에러 여부와 상관없이 마지막에 무조건 실행되는 부분
try:
a = [1, 2]
print(a[3]); # IndexError
4 / 0 # ZeroDivisionError
except ZeroDivisionError as e:
print(e)
except IndexError as e:
print('IndexError')
finally:
print('finish!!')
IndexError
finish!!
● return문이 있을경우 예외처리 실행순서
- finally -> return문
def devide(x, y):
try:
result = x / y
except ZeroDivisionError:
print('ZeroDivisionError')
return True
else:
print('x / y = ', result)
return False
finally:
print('finally finished!!')
>>> devide(2, 0) # try -> except -> finally -> return출력
ZeroDivisionError
finally finished!!
True
>>> devide(2, 1) # try -> else -> finally -> return출력
x / y = 2.0
finally finished!!
False
raise : 에러발생 시키는 구문
def check_type(self):
if type(self) == str:
pass
elif type(self) == int:
raise Exception
'Langauge > Python' 카테고리의 다른 글
[라이브러리] datetime 모듈 (0) | 2020.12.28 |
---|---|
[라이브러리] csv 읽어오기 (0) | 2020.12.22 |
파일 읽기, 쓰기 (0) | 2020.12.22 |
PEP8 (Python Enhancement Proposal 8) (0) | 2020.12.22 |
*args, **kwargs (0) | 2020.12.21 |