반응형
11. 예외처리 (try, except)
try : 기본 수행 문장들 입력
except : 문제가 발생하면 수행할 문장을 입력
기본 구조
try:
실행 문장1
실행 문장2
except:
실행 문장a
실행 문장b
예제
# 예외 처리
def div(a,b):
return a/b
div(1,0)
# 0으로 나눴기때문에 에러가 발생
---------------------------------------------------------------------------
ZeroDivisionError Traceback (most recent call last)
<ipython-input-2-e8564b965c01> in <cell line: 1>()
----> 1 div(1,0)
<ipython-input-1-31a77414021a> in div(a, b)
1 def div(a,b):
----> 2 return a/b
ZeroDivisionError: division by zero
if문을 통해 문제 상황에 대해 개별적으로 설정할 수 있지만, 에러 전체에 대해 대응할 때는 예외처리가 유용함
# 방법 1 if문 활용해 개별처리
def div(a,b):
if b == 0:
return '계산식 표현 불가'
else:
return a/b
div(1,0)
# 결과 : '계산식 표현 불가'
# 방법 2 try, except 활용
def div(a,b):
try:
return a/b
except:
return '계산식 표현 불가'
div(1,0)
# 결과 : '계산식 표현 불가'
특정 오류에 대한 예외 처리
앞서 0으로 나눈 경우에 발생한 에러 메세지를 보면 ZeroDivisionError라는 것을 볼 수 있다.
Error 종류에 대해 특정지어 예외 처리가 가능함.
def div(a,b):
try:
return a/b
except ZeroDivisionError:
return '계산식 표현 불가'
div(1,0)
# 결과 : 계산식 표현 불가
def div(a,b):
try:
return a/b
except ZeroDivisionError as Error1 :
return '{}로 인한 계산식 표현 불가'.format(Error1)
div(1,0)
# 결과 : division by zero로 인한 계산식 표현 불가
Ref
렛유인 - 파이썬 데이터 분석 - 기초이론
렛유인 - 파이썬 데이터 분석 - 전처리&시각화
728x90
'공부 > Python' 카테고리의 다른 글
[핸즈온 머신러닝] Ch.1 머신러닝 기초 배경 (1) | 2024.09.03 |
---|---|
[Python 기초] 기타 함수 (enumerate, zip, lambda, map) (0) | 2024.08.26 |
[Python 기초] 함수, Global (0) | 2024.08.24 |
[Python 기초] 반복문 (while, for) (0) | 2024.08.23 |
[Python 기초] 조건문 (If, if-else, if-elif-else) (0) | 2024.08.22 |