python - 예외가 발생할 때 스택의 값을 얻는 방법
習慣沉默
習慣沉默 2017-05-18 10:59:04
0
4
737

다음과 같은 코드가 있다고 가정해 보세요.

으아악

이제 예외가 발생하면 예외가 발생하기 전, 즉 a=1, b=0과 같은 결과를 얻으려고 합니다.

習慣沉默
習慣沉默

모든 응답(4)
習慣沉默

inspect.currentframe

으아아아
Ty80

이 파이썬에서는 적극적으로 구현하면 안 됩니다. 이런 메소드가 있으면 다계층 호출 시 예외가 발생하여 해당 데이터가 계층별로 기록된 후 반환되므로 메모리 문제가 발생할 가능성이 높기 때문입니다. ; 그리고 예외가 발생하기 전에 가상 머신은 i_pmod 함수에 구현된 a/b => 1/0 실행 중인 0으로 나누기 예외와 같습니다. PyIntobject 코드에서는 제수가 0이라고 판단하고 바로 예외가 발생하고 스택이 레이어별로 반환되어 사용자에게 해당 기호의 값과 관련된 코드가 없습니다. try_block에 기록되므로 대부분의 사람들은 인간화된 출력을 제외하고 더 자세한 코드를 만듭니다.

黄舟

ipython을 사용하여 pdb를 열면 어떤 줄에 오류가 있는지 보고할 수 있습니다!

으아악
为情所困

pdb

다음 코드를 추가하세요:

으아아아

다음과 같이 실행하세요:

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿