Tengo un comportamiento extremadamente extraño que parece resultar en excepciones silenciosas. ¿Cómo puedo escribir una captura de prueba general donde puedo depurar todas las excepciones? Algo parecido a:
try:
# something that fails
except e:
print e
Un poco más sobre el problema en cuestión en detalle:
Tengo una aplicación Django que en mi computadora (Ubuntu Linux 8.10) funciona bien tanto a través de runserver como de mod-python. En el servidor de implementación (Ubuntu Linux 8.10) funciona bien a través de runserver, pero falla a través de apache en mod-python.
He reducido la causa a una parte de la aplicación que usa Berkeley DB (bsddb.db) y claves secundarias. El método de devolución de llamada para claves secundarias usa pickle para formatear las claves. Falla cuando llamo a pickle en un solo valor. Sin embargo, solo falla cuando uso cPickle, y usar pickle en los mismos valores fuera de la función de devolución de llamada también funciona.
Solo quiero saber por qué falla con cPickle.
El módulo de rastreo es bastante útil para formatear los rastreos. Luego puede escribirlo en un archivo de registro.
fuente
¿Esto funciona? :
except BaseException, e:
fuente
BaseException
, incluyeSystemExit
yKeyboardInterrupt
, cosas que generalmente no desea atrapar.