파이썬 코드 실행을위한 작은 소프트웨어를 작성 중이며 예외를 print하고 싶습니다. 다음 기능이 실행됩니다.
def run(self, mode='activate'):
try:
exec(self.mycode)
except Exception:
print(traceback.format_exc())
exec () 함수에서 정확히 실행될 것에 대한 정보는 없으며 문자 그대로 파이썬 코드 일 수 있습니다. 예외가 발생한 exec () 함수에 전달 된 코드 줄을 포함하여 exec ()를 통해 실행하는 동안 (예 : 코드 오류로 인해 파이썬이 자동으로 자동으로) 예외를 print하고 싶습니다.지금까지는 예외 코드 출력으로 'exec (mycode)'만 가져올 수 있었지만 mycode 에서 충돌 한 실제 코드 줄이 필요합니다.
이 시도 :
def run(self, mode='activate'):
try:
exec(your_code)
except Exception as e:
print(e)
이 작동합니다!
이 줄을 추가하십시오 traceback.print_exc ()
def run(self, mode='activate'):
try:
exec(your_code)
except Exception as e:
print(e)
그러면 예외 정보가 제공되고 예외 / 오류가 발생한 행 번호도 제공됩니다!