Data/Python
[Python 문법] 오류 처리
gangmin
2024. 4. 9. 13:40
파이썬은 타입 오류, 연산 오류 등 다양한 오류가 발생할 수 있다. 오류를 처리하기 위해서 try - except 문법을 활용할 수 있다.
x = 5
y = 'Hello'
try:
z = x + y
except TypeError:
print("Error : cannot add an int and a str")
오류 발생 핸들링
except 구문에서 오류 타입에 따른 다양한 처리를 할 수 있다. 다음 예시를 확인해보면, 오류 타입에 따라서 프린트 내부 문자열을 변경할 수 있게 된다.
def fun(a):
if a < 4:
b = (a / (a - 3))
print("Value of B = ", b)
try:
fun(3)
fun(5)
except ZeroDivisionError:
print("ZeroDivisionError Occurred and Handled")
except NameError:
print("NameError Occurred and Handled")
오류 구문 후 처리
오류가 발생하지 않는 경우에 추가적인 작업을 수행하도록 하는 문법도 존재한다. if 구문을 활용하는 것처럼 else 예약어를 사용하여서 추가적인 작업을 수행할 수 있다.
def abyB(a, b):
try:
c = ((a + b) / (a - b))
except ZeroDivisionError:
print("a / b result in 0")
else:
print(c)
abyB(2.0, 3.0)
abyB(3.0, 3.0)
오류가 발생 여부와 상관 없이 항상 실행되는 구문을 추가하는 finally 예약어도 제공한다.
try:
k = 5 // 0
except ZeroDivisionError:
print("Can not divide by zero")
finally:
print("This is always executed")