Search

예외처리

Try Except

try : 실행할 코드를 블록에 감싸는 역할
except : 에러가 발생했을 때 에러 핸들링 하는 역할
else : 코드 실행 시 에러가 발생하지 않았을 때 핸들링
finally : 에러 여부와 상관없이 최종적으로 실행되는 블록
(예시)
try: print(x) except: print("An exception occurred")
Python
복사
x 가 정의되지 않았기 때문에 에러 발생
try블록에서 오류가 발생하므로, except 블록이 실행
try블록이 없으면 프로그램이 충돌하고 오류가 발생
print(x)
Python
복사

여러 개의 Exception 처리

try: print(x) except NameError: print("Variable x is not defined") except: print("Something else went wrong")
Python
복사

Else

오류가 발생하지 않은 경우 실행할 코드 블록을 정의
try: print("Hello") except: print("Something went wrong") else: print("Nothing went wrong")
Python
복사

Finally

try 블록에서 오류가 발생하는지 여부에 관계없이 실행
try: print(x) except: print("Something went wrong") finally: print("The 'try except' is finished")
Python
복사
(예시) 파일 I/O
try: f = open("demofile.txt") try: f.write("Lorum Ipsum") except: print("Something went wrong when writing to the file") finally: f.close() except: print("Something went wrong when opening the file")
Python
복사

Exception 발생

raise : 예외를 발생시키는 데 사용
발생시킬 오류의 종류와 사용자에게 인쇄할 텍스트를 정의
x = -1 if x < 0: raise Exception("Sorry, no numbers below zero")
Python
복사
x = "hello" if not type(x) is int: raise TypeError("Only integers are allowed")
Python
복사