[Python-de] Exceptions aus seperatem Thread anzeigen
Florian Lindner
mailinglists at xgm.de
Di Sep 20 16:45:47 CEST 2011
Hallo,
mein Programm soll von extern über einen XML-RPC Server gesteuert werden. Die
Steuerung soll neben dem eigentlichen Programmfluss ablaufen, also in einem
seperatem Thread. Dies habe ich so gemacht:
class RPCServer():
def __init__(self, config, worker_stack):
server = SimpleXMLRPCServer.SimpleXMLRPCServer( ('', port) )
server.register_introspection_functions()
server.register_instance(self)
self._server_thread = threading.Thread(target = server.serve_forever)
self._server_thread.daemon = True
self._server_thread.start()
def steuerungsfunktion(self):
pass
RPCServer(config, w_stack)
# normaler Programmfluss geht hier weiter
Nun wirft steuerungsfunktion auch mal eine Exception. Leider bekomme ich diese
bei dieser Konfiguratiion gar nicht angezeigt und auch keine Reaktion drauf.
Wie kann ich erreichen, dass mir die Exception angezeigt und wie normal drauf
reagiert wird (also beendet wird, bei einer nichtgefangenen).
Sollte es elegantere Methoden geben das gleiche zu erreichen als meine oben,
bin ich natürlich auch ganz Ohr.
Grüße,
Florian
Mehr Informationen über die Mailingliste python-de