Python에서 예외 인쇄
Python에서 예외는 오류입니다. Python에는TypeError
,SyntaxError
,KeyError
,AttributeError
등과 같은 많은 오류 또는 예외가 있습니다. 이러한 블록이 없으면 이러한 예외를 처리하기 위해 Python에서try-except-finally
를 사용합니다. 이러한 예외는 프로그램의 실행을 중지합니다. Python의try-except-finally
블록은 프로그램 실행을 중지하지 않고 이러한 예외를 인쇄하는 데 사용할 수 있습니다.
Python에서try-except-finally
블록을 사용하여 예외 인쇄
다음 코드 스 니펫을 고려하십시오.
dictionary = {
"hello": "world",
}
number = 25
try:
number = number + dictionary["hello"]
print(number)
except Exception as e:
print(repr(e))
출력:
TypeError("unsupported operand type(s) for +: 'int' and 'str'",)
위의 코드에서 먼저 문자열 값world
를 가리키는 키로hello
와 변수number
를 사용하여 사전을 초기화합니다. 그런 다음try
블록 내에서dictionary
에 저장된 문자열 값에 액세스하여number
변수에 추가하려고합니다.
이 문장은정수
에문자열
을 추가하는 것이 불가능하기 때문에 실질적이고 개념적으로 잘못되었습니다. 따라서except
블록은이 오류를 포착하고 콘솔에서이 예외와 관련된Exception
개체를 인쇄합니다.
Python에서traceback
모듈을 사용하여 예외 인쇄
Python에는 예외를 인쇄하고 형식화하기위한 내장 모듈traceback
이 있습니다. 또한 콘솔에서 전체 예외를 쉽게 인쇄 할 수 있습니다.
Python에서는raise
키워드를 사용하여 수동으로 예외를 발생시킬 수 있습니다. 다음 코드 스 니펫에서는raise
키워드를 사용하여try
블록 내에서 예외를 발생시킵니다.
import traceback
try:
raise KeyError
except Exception as e:
traceback.print_exc()
출력:
Traceback (most recent call last):
File ".\main.py", line 4, in <module>
raise KeyError
KeyError
위 코드에서KeyError
예외를 발생시키고traceback
모듈에서print_exc()
함수를 사용하여 예외를 인쇄합니다. 이 함수는 예외에 대한 정보를 인쇄하며traceback.print_exception(*sys.exc_info(), limit, file, chain)
의 축약 형입니다.
print_exception()
함수에 대한 자세한 내용은 공식 문서 여기를 참조하십시오.