Ignore as exceções lançadas e capturadas dentro de uma biblioteca
A biblioteca padrão do Python e outras bibliotecas que eu uso (por exemplo, PyQt) às vezes usam exceções para condições sem erro. Olhe para o seguinte, exceto da funçãoos.get_exec_path()
. Ele usa múltiplostry
instruções para capturar exceções que são lançadas ao tentar encontrar alguns dados do ambiente.
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)
Essas exceções não significam um erro e são lançadas em condições normais. Ao usar pontos de interrupção de exceção para uma dessas exceções, o depurador também interromperá essas funções de biblioteca.
Existe uma maneira no PyCharm ou no Python em geral ter o depurador não quebrar em exceções que são lançadas e capturadas dentro de uma biblioteca sem qualquer envolvimento do meu código?