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
복사