En Python, ¿hay alguna característica de lenguaje (o intérprete) para forzar al intérprete de Python a que siempre genere excepciones incluso si la excepción del código ofensivo está dentro de un bloque try/except?Python - ¿Es posible forzar excepciones de excepción sin importar try/except blocks?
Acabo de heredar una base de código antigua y más grande escrita en python, cuyo propósito es comunicarnos con algún hardware diseñado a medida que también desarrollamos. Muchos errores de comunicación y los tiempos de espera se están enmascarados/perdidas debido al patrón siguiente (simplificado) de código:
try:
serialport.write(MSG)
except:
some_logging_function_mostly_not_working_that_might_be_here_or_not()
#or just:
#pass
Con el fin de evitar el escenario típico de "simplemente reescribir toda la cosa desde cero", estoy Actualmente, estamos intentando solucionar todos los errores/tiempos de espera de excepciones. Estoy haciendo esto deshabilitando a mano el código de manejo de todas las excepciones, de a uno por vez.
No puedo hablar con Python, ya que nunca lo he usado (de ahí que responda como un comentario en lugar de una respuesta real), pero la mayoría de los depuradores tienen la opción de "romper todas las excepciones". Esto también se puede llamar "excepciones de primera oportunidad". Permitiría que su código permanezca sin cambios, pero trata cada "lanzamiento" como un punto de interrupción. Verifique si su depurador tiene esa característica. – rmeador