2011-10-26 16 views
22

In Python ad eccezione di blocco, voglio stampare il messaggio di errore, ma non voglio il programma per fermare l'esecuzione, ho capito che devo fare qualcosa di similedi java() equivalente in pitone

try: 
    1/0 
except: 
    print errorMessage 

Nella parte eccedente, sto cercando di inserire qualcosa come java printStackTrace()

+2

Per stampare l'analisi dello stack senza causare un'eccezione per essere sollevata, vedi: http://stackoverflow.com/questions/3925248/print-python-stack-trace-without- exception-being-raised – Eddified

risposta

3

Se davvero si vuole solo il messaggio di errore, si può semplicemente stampare l'errore (noto come ho specificato l'eccezione della buona pratica, tranne-che è, vedere pep8 per le raccomandazioni sulla cattura di errori):

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

Tuttavia, se si desidera che lo stackstrace, come ha detto @Eddified in un commento, è possibile utilizzare l'esempio nella this answer. O più specificamente per il vostro caso:

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

Solo un colpo di testa, [print_stack] (http://docs.python.org/2/library/traceback.html#traceback.print_stack) si limita a stampare lo stack da qualsiasi riga di codice, mentre [print_exc() stampa la traccia dello stack dell'eccezione] (http://docs.python.org/2/library/traceback.html#traceback.print_exception). – abelito