이 stackoverflow answer을 확장하여 함수 수준에서 오류를 찾을 수 있습니까?함수에서 오류를 찾기 위해 예외 발생
필자가 작성한 함수를 호출하는 코드를 작성했습니다.
함수에서 오류가 발생하는 곳을 찾을 수 없습니다. Spyder에서 디버깅 도구를 사용해 보았지만 문제를 추적하지 못했습니다.
위의 대답에 코드를 포함하도록 try-except 문을 업데이트했지만 함수를 호출하는 코드에서만 행 번호를 찾습니다.
이 stackoverflow answer을 확장하여 함수 수준에서 오류를 찾을 수 있습니까?함수에서 오류를 찾기 위해 예외 발생
필자가 작성한 함수를 호출하는 코드를 작성했습니다.
함수에서 오류가 발생하는 곳을 찾을 수 없습니다. Spyder에서 디버깅 도구를 사용해 보았지만 문제를 추적하지 못했습니다.
위의 대답에 코드를 포함하도록 try-except 문을 업데이트했지만 함수를 호출하는 코드에서만 행 번호를 찾습니다.
그러나
import traceback
def function():
print("A")
print(5/0)
print("C")
try:
print("A")
function()
print("B")
except:
traceback.print_exc()
, 나는 @ roganjosh의 의견에 동의 : 나는 시도/캐치를 제거하는 것이며, 예외가 생성 된 위치를 올리도록하여 코드를 디버그하십시오.
'traceback'이 대우를 받아 주셔서 감사합니다! – jlt199
당신이 그런 식으로 예외를 발생시킬 수 있습니다
try:
do_importamt_staff() #your code
except:
import traceback
s = traceback.format_exc()
send_error_message_to_responsible_adult(s)
raise
이 코드는 "오류 기능"(오류를하고있는 하나)로 이동합니다.
여기 파이썬에서 예외에 읽을 수 있습니다 : 당신은 항상 역 추적 사용할 수 있습니다 https://www.codementor.io/sheena/how-to-write-python-custom-exceptions-du107ufv9
코드를 게시하는 것이 좋습니다. – Ivan86
어쩌면 함수를 호출하는 행이 오류가있는 위치일까요? –
블랭킷을 'except'로 사용했기 때문에 훌륭한 답변이 아니므로 예외가 실제로 발생했는지 전혀 알 수 없습니다. 쉬운 대답은 당신의 try/except를 없애고 스택 추적을 참조하십시오. – roganjosh