• Geek_3d35fd
    2024-10-05 来自北京
    cpython中POP_EXCEPT字节码实现是pop block之后就直接continue,执行紧挨着的下一个字节码了
    
    
  • Geek_3d35fd
    2024-10-05 来自北京
    看代码有一个疑惑, 很长字节码部分执行到POP_EXCEPT弹出栈上异常对象,设置执行器状态是异常,会触发pop Block(type=setup_finally),重置状态为IS_OK,然后执行finally部分代码,改部分代码执行完紧接着执行END_FINALLY字节码,会重新设置状态为IS_EXCEPTION, 弹完BLOCK后状态始终是IS_EXCEPTION, 这样异常并没有捕获接着逐渐向上抛出了,正常应该在本函数捕获了啊
    
    