2011-10-26 15 views
22

en Python, excepto bloque, Quiero imprimir el mensaje de error, pero no quiero el programa para detener la ejecución, entiendo que tengo que hacer algo como estode Java() equivalente en pitón

try: 
    1/0 
except: 
    print errorMessage 

En la parte de excepción, estoy buscando algo como java printStackTrace()

+2

Para imprimir el seguimiento de la pila sin causar una excepción a elevarse, consulte: http://stackoverflow.com/questions/3925248/print-python-stack-trace-without- exception-being-raised – Eddified

Respuesta

3

Si realmente desea que el mensaje de error, sólo puede imprimir el error (observe como se especifica la excepción en la excepción, eso es una buena práctica, ver pep8 para obtener recomendaciones sobre la captura de errores):

try: 
    1/0 
except Exception as e: 
    print e 

Sin embargo, si desea que el stackstrace, como dijo @Eddified en un comentario, puede utilizar el ejemplo de this answer. O más específicamente para su caso:

import traceback 
try: 
    1/0 
except Exception as e: 
    print e 
    traceback.print_stack() 
+0

Solo un aviso previo, [print_stack] (http://docs.python.org/2/library/traceback.html#traceback.print_stack) simplemente imprime la pila desde cualquier línea de código en la que se encuentre, while [print_exc() imprime el seguimiento de la pila de la excepción] (http://docs.python.org/2/library/traceback.html#traceback.print_exception). – abelito