我使用的 Python 标准库和其他库(例如 PyQt)有时会针对非错误条件使用异常。除了函数 os.get_exec_path()
之外,请查看以下内容。它使用多个 try
语句来捕获在尝试查找某些环境数据时抛出的异常。
try:
path_list = env.get('PATH')
except TypeError:
path_list = None
if supports_bytes_environ:
try:
path_listb = env[b'PATH']
except (KeyError, TypeError):
pass
else:
if path_list is not None:
raise ValueError(
"env cannot contain 'PATH' and b'PATH' keys")
path_list = path_listb
if path_list is not None and isinstance(path_list, bytes):
path_list = fsdecode(path_list)
这些异常并不表示错误,而是在正常情况下抛出的。当对这些异常之一使用异常断点时,调试器也会在这些库函数中中断。
在 PyCharm 或 Python 中是否有一种方法可以让调试器在不涉及我的代码的情况下不中断在库中抛出和捕获的异常?
最佳答案
在 PyCharm 中,转到 Run-->View Breakpoints,然后选中“On raise”和“Ignore library files”。
第一个选项使调试器在引发异常时停止,而不是仅在程序终止时停止,第二个选项为 PyCharm 提供忽略库文件的策略,因此主要在您的代码中搜索。
感谢 CrazyCoder 找到了解决方案的 link添加到功能请求中。
关于python - 忽略在库中抛出和捕获的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966276/