파이썬 시도 제외
try
블록을 사용하면 코드 블록에 오류가 있는지 테스트할 수 있습니다 .
except
블록을 사용하면 오류를 처리할 수 있습니다 .
else
블록을 사용하면 오류가 없을 때 코드를 실행할 수 있습니다 .
finally
블록을 사용하면 try- 및 except 블록의 결과에 관계없이 코드를 실행할 수 있습니다 .
예외 처리
오류가 발생하거나 우리가 호출하는 예외가 발생하면 Python은 일반적으로 중지하고 오류 메시지를 생성합니다.
이러한 예외는 다음 try
문을 사용하여 처리할 수 있습니다.
예시
블록은 다음 과 같이 정의되지 try
않았기 때문에 예외를 생성합니다 .x
try:
print(x)
except:
print("An exception occurred")
try 블록에서 오류가 발생하므로 예외 블록이 실행됩니다.
try 블록이 없으면 프로그램이 충돌하고 오류가 발생합니다.
예시
이 문은 x
다음과 같이 정의되지 않았기 때문에 오류를 발생시킵니다.
print(x)
많은 예외
예를 들어 특별한 종류의 오류에 대해 특별한 코드 블록을 실행하려는 경우 원하는 만큼 예외 블록을 정의할 수 있습니다.
예시
try 블록이 발생하면 하나의 메시지를 인쇄 NameError
하고 다른 오류에 대해서는 다른 메시지를 출력합니다.
try:
print(x)
except NameError:
print("Variable x
is not defined")
except:
print("Something else went
wrong")
또 다른
키워드를 사용하여 else
오류가 발생하지 않은 경우 실행할 코드 블록을 정의할 수 있습니다.
예시
이 예에서 try
블록은 오류를 생성하지 않습니다.
try:
print("Hello")
except:
print("Something went
wrong")
else:
print("Nothing went wrong")
드디어
블록 이 finally
지정되면 try 블록에서 오류가 발생하는지 여부에 관계없이 블록이 실행됩니다.
예시
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")
이것은 개체를 닫고 리소스를 정리하는 데 유용할 수 있습니다.
예시
쓰기 불가능한 파일을 열고 쓰기를 시도하십시오.
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 개발자는 조건이 발생하면 예외를 throw하도록 선택할 수 있습니다.
예외를 발생(또는 발생)시키려면 raise
키워드를 사용하십시오.
예시
x가 0보다 작으면 오류를 발생시키고 프로그램을 중지합니다.
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")
키워드 는 raise
예외를 발생시키는 데 사용됩니다.
어떤 종류의 오류가 발생하고 사용자에게 인쇄할 텍스트를 정의할 수 있습니다.
예시
x가 정수가 아니면 TypeError를 발생시킵니다:
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")