예외 발생시 적절한 처리를해주면 계속 실행할 수 있다.
# f = open("없는 파일.txt", "r")
# 4/0
# a = [1, 2, 3]
# a[4]
try:
4/0
except ZeroDivisionError as e:
print(e)
print("계속 실행")
try:
num = int(input("숫자를 입력 : "))
except ValueError as e:
print(e)
finally:
print("무조건 실행")
print("계속 실행")
예외 발생시키기
class MyError(Exception):
pass
def say_nick(nick):
if nick=='바보':
raise MyError() # 예외발생시켜라
print(nick)
say_nick('천사')
say_nick('바보')
__str__
: MyError 객체에 있는 str 메서드를 자동으로 호출
class MyError(Exception):
def __str__(self):
return "허용되지 않는 별명입니다"
def say_nick(nick):
if nick=='바보':
raise MyError() # 예외발생시켜라
print(nick)
# say_nick('천사')
# say_nick('바보')
try:
say_nick('천사')
say_nick('바보')
except MyError as e:
print(e)