Articles of excepción de

¿Cómo prevenir la “excepción demasiado amplia” en este caso?

Obtuve una lista de funciones que pueden fallar, y si una falla, no quiero que el script se detenga, sino que continúe con la siguiente función. Lo estoy ejecutando con algo como esto: list_of_functions = [f_a,f_b,f_c] for current_function in list_of_functions: try: current_function() except Exception: print(traceback.format_exc()) Funciona bien, pero no es compatible con PEP8: Cuando detecte […]

Manejar tipo de excepción específica en python

Tengo un código que maneja una excepción y quiero hacer algo específico solo si es una excepción específica, y solo en el modo de depuración. Así por ejemplo: try: stuff() except Exception as e: if _debug and e is KeyboardInterrupt: sys.exit() logging.exception(“Normal handling”) Como tal, no quiero simplemente añadir un: except KeyboardInterrupt: sys.exit() porque estoy […]

Manera pythonica de reintentar ejecutando una función

Cómo un Professinal de Python reintentaría ejecutando una función que solicitará un servicio web (el servicio web a veces falla) La función: def some_request(uri): try: req = requests.post(‘http://someuri.com’, {‘test’: ‘yes’}) except Exception as e: return False return {‘id’: req.json()[‘value’], ‘other’: req.json()[‘other’]} ¿Manejas el rebash con un rato u otro idioma de Python? Dame una pista […]

limpieza al usar excepciones y archivos en python

Estoy aprendiendo python por un par de días y estoy luchando con su “espíritu”. Vengo de la escuela C / C ++ / Java / Perl y entiendo que Python no es C (en absoluto), por eso estoy tratando de entender el espíritu para aprovechar al máximo (y hasta ahora es difícil) … Mi pregunta […]

Python y excepciones

Desde un fondo de Java, me gusta cuando me avisaron de que no estaba detectando una excepción, sin tener que leer la documentación. Y si leí la documentación sobre un método, la excepción lanzada se mostró justo en la firma del método de la documentación. Con Python a menudo tengo que leer un párrafo del […]

¿Por qué se recomienda derivar de la excepción en lugar de la clase BaseException en Python?

La documentación de Python 2 dice que “se alienta a los progtwigdores a derivar nuevas excepciones de la clase Exception o una de sus subclases, y no de BaseException”. Sin ninguna otra explicación de por qué. Tengo curiosidad por saber por qué se recomienda de esta manera? ¿Es solo para preservar la jerarquía de excepciones […]

¿Cómo paso una excepción entre hilos en python?

Necesito pasar excepciones a través de un límite de hilo. Estoy usando python incrustado en una aplicación que no es segura para subprocesos y que tiene una llamada segura para subprocesos, post_event (callable), que llama a ser invocable desde su hilo principal. Estoy ejecutando un gui pygtk en un hilo separado, así que cuando se […]

Colorear excepciones de Python en un terminal

¿Hay una manera fácil de obtener el mensaje de la excepción que se coloreará en la línea de comandos? Por ejemplo def g(): f() def f(): 1/0 g() Da el error Traceback (most recent call last): File “test.py”, line 3, in g() File “test.py”, line 1, in g def g(): f() File “test.py”, line 2, […]

isinstance () devolviendo inesperadamente False

Estoy usando el cliente Python kubernetes . En el caso de que kubernetes no esté disponible cuando se inicie mi código, me gustaría volver a intentar la conexión. Cuando el cliente no puede conectarse, lanza lo que parece ser una excepción urllib3.exceptions.MaxRetryError , así que empecé con algo como esto: import time import urllib3 import […]

Error de salida de multiproceso Python

Estoy viendo esto cuando presiono Ctrl-C para salir de mi aplicación Error in atexit._run_exitfuncs: Traceback (most recent call last): File “/usr/lib/python2.6/atexit.py”, line 24, in _run_exitfuncs func(*targs, **kargs) File “/usr/lib/python2.6/multiprocessing/util.py”, line 269, in _exit_function p.join() File “/usr/lib/python2.6/multiprocessing/process.py”, line 119, in join res = self._popen.wait(timeout) File “/usr/lib/python2.6/multiprocessing/forking.py”, line 117, in wait return self.poll(0) File “/usr/lib/python2.6/multiprocessing/forking.py”, line 106, […]