2011-07-16 15 views

Respuesta

35

Eche un vistazo al módulo traceback. Se podría hacer lo siguiente:

import sys, traceback 

try: 
    raise Exception() 
except: 
    traceback.print_exc() 
    sys.exit(3) 

Esto escribirá el rastreo de error estándar y termina con el código 3.

+2

Pero no hay una manera de instalar un controlador de este tipo sin tener que abrir una 'try'/'except' cláusula? Prefiero simplemente llamar a algo una vez, tal vez mediante la importación de un módulo específico, y luego cada vez que aparezca 'ExceptionWhichCausesExitCode3()' debe salir del programa con el código de salida 3. – Alfe

+0

Eche un vistazo a http://is.gd/EFOWlO en el que abordo ese aspecto. – Alfe

+0

¿Querías decir 'sys.exit()'? [exit] (https://docs.python.org/2/library/constants.html#exit) es una función de ayuda destinada solo al intérprete interactivo. – OozeMeister

Cuestiones relacionadas