Python Pycharm-在任何异常上中断,但忽略StopIteration和ExitGenerator

Python Pycharm-在任何异常上中断,但忽略StopIteration和ExitGenerator,python,debugging,exception,pycharm,Python,Debugging,Exception,Pycharm,在Pycharm中,我希望在调试模式下,停止任何进入代码的异常,但忽略库函数抛出和捕获的任何异常 Pycharm在断点中有一个名为anyexception的选项,您可以说“On Raise”和“Ignore library files”,这很长一段时间,但它不会忽略StopIteration和ExitGenerator,这意味着它会在任何生成器或yield语句的末尾停止 例如,在生成器下方的代码中,next((列表中的x代表x))抛出一个ExitGenerator异常,Pycharm在调试模式下

在Pycharm中,我希望在调试模式下,停止任何进入代码的异常,但忽略库函数抛出和捕获的任何异常

Pycharm在断点中有一个名为anyexception的选项,您可以说“On Raise”和“Ignore library files”,这很长一段时间,但它不会忽略StopIteration和ExitGenerator,这意味着它会在任何生成器或yield语句的末尾停止

例如,在生成器下方的代码中,
next((列表中的x代表x))
抛出一个ExitGenerator异常,Pycharm在调试模式下停止该异常,但这实际上是由库代码捕获和处理的,所以我想忽略它

参见本程序的示例

将熊猫作为pd导入
尝试:
#虚假例外
a_list=['a','b','c','d','e','f','g','h']
第一项=下一项(列表中x代表x))
打印(f'first item={first_item}')
例外情况除外,如e:
#由于ExitGenerator异常是由标准库处理的,因此程序不会转到这里
打印(f'从生成器获得异常:{str(e)}')
尝试:
#图书馆的适当例外
数据帧(索引=[1,2,3],数据=['a','b','c'],列=['letters']))
#尝试访问,但使用错误的列名生成异常
打印(df[“不存在列”])
例外情况除外,如e:
#当代码试图访问一个不存在的列时,程序将出现在这里
打印(f'get exception from pandas:{str(e)}')
这将在调试中生成以下输出

Connected to pydev debugger (build 201.6668.115)
Stack: 
    <genexpr>, play.py:6
    <module>, play.py:6
first item = a
Stack: 
    <module>, play.py:17
got exception from pandas : 'non_existent_column'

Process finished with exit code 0
连接到pydev调试器(build 201.6668.115)
堆栈:
,play.py:6
,play.py:6
第一项=a
堆栈:
,play.py:17
从pandas获得异常:“不存在列”
进程已完成,退出代码为0
Pycharm首先捕获未到达我的代码的伪生成器异常,然后捕获读取我的代码的正确异常。这是我的断点设置

这与几年前的情况似乎也有关系


表明它可能已解决,但不知道如何启用它。

更新

根据这里的一些答案,我已经设法找到了一些可行的方法

如果我将其添加到Pycharm条件中,它将避免忽略StopIteration和ExitGenerator

not(isinstance(uuu exception,tuple)和len(uuu exception)>=1和[StopIteration,GeneratorExit]中的uuu exception[0])

您应该将您的更新作为答案谢谢Alex-现在更新为答案