>  Q&A  >  본문

python - 예외가 발생할 때 스택의 값을 얻는 방법

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

으아악

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

習慣沉默習慣沉默2711일 전681

모든 응답(4)나는 대답할 것이다

  • 習慣沉默

    習慣沉默2017-05-18 11:01:04

    inspect.currentframe

    으아아아

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-18 11:01:04

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

    회신하다
    0
  • 黄舟

    黄舟2017-05-18 11:01:04

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

    으아악

    회신하다
    0
  • 为情所困

    为情所困2017-05-18 11:01:04

    pdb

    다음 코드를 추가하세요:

    으아아아

    다음과 같이 실행하세요:

    으아아아

    회신하다
    0
  • 취소회신하다