Il semble que vous posiez deux questions.
Pour éviter que votre processus ne se termine en cas d'erreur, vous devez capturer tous les exception
qui sont déclenchés à l'aide de try...except...finally
.
Vous souhaitez également rediriger toutes les sorties vers un journal. Heureusement, Python fournit un module complet logging
pour votre commodité.
Un exemple, pour votre plus grand plaisir et délectation:
#!/usr/bin/env python
import logging
logging.basicConfig(filename='warning.log', level=logging.WARNING)
try:
1/0
except ZeroDivisionError, e:
logging.warning('The following error occurred, yet I shall carry on regardless: %s', e)
appareil émet gracieusement:
% cat warning.log
WARNING:root:The following error occurred, yet I shall carry on regardless: integer division or modulo by zero
http://docs.python.org/library/logging.html – ajreal
double possible de [ Consignation des exceptions non interceptées dans Python] (http://stackoverflow.com/questions/6234405/logging-uncaught-exceptions-in-python) – guneysus