의도하지 않은
에러
가 일어나는 경우
= "Exception이 일어났다."
에러 발생 --> 프로그램 미중단 --> 다음 로직 실행 및 프로그램 진행
def return_elem_or_minus_one(index):
short_list = [1, 2, 3]
elem = 0
try:
elem = short_list[index]
print("이 문장은 exception이 발생되면 실행되지 않습니다!")
except IndexError:
print(f"이 문장은 Exception이 발생하면 실행 됩니다")
elem = -1
finally:
print("이 문장은 exception 발생 여부와 상관없이 무조건 실행됩니다!")
return elem
result = return_elem_or_minus_one(2)
print(result)
결과
이 문장은 exception이 발생되면 실행되지 않습니다!
이 문장은 exception 발생 여부와 상관없이 무조건 실행됩니다!
3
이번엔 인자로 5를 넣어보자.
(원래라면 인덱스 에러 발생하여 프로그램 중단)
result = return_elem_or_minus_one(5)
print(result)
결과
이 문장은 Exception이 발생하면 실행 됩니다
이 문장은 exception 발생 여부와 상관없이 무조건 실행됩니다!
-1
divison 함수를 실행시 발생하는 exception을 핸들링하시오.
(-1 리턴하도록)
def division(num1, num2):
try:
result = num1 / num2
except ZeroDivisionError:
result = -1
except Exception as e:
print(f'Exception에러 이외의 에러가 발생했습니다. : {e}')
result = -1
return result
print(division(1, 0))
나누기 연산자 (/
)의 ExceptionError를 핸들링하였다.
기본적으로 0으로 나누는 경우는 수학적으로 정의되지 않았기 때문이다.
따라서,
아래와 같은 파이썬 syntax를 통해 구현하였다.
- One step at a time -