Seite 1 von 1

[gelöst] Problemstellung: str+c / strg+d abfangen

Verfasst: Montag 23. Juni 2008, 10:11
von hector
Hallo,
mit Entsetzen ist mir gerade aufgefallen, dass man durch die geschickte Kombination von strg+c und strg+d Pythonprogramme zum Abstürzen bringen kann. Ich brauche aber den Fall, dass es in jedem Fall diese Steuerkommandos abfängt.

Code: Alles auswählen

def main():
        
        print "Main"
        
        try:
                name=raw_input("Name: ")
        #except (exceptions.KeyboardInterrupt,exceptions.EOFError):
        except:
                print "\nhier wird nicht ausgebrochen!"
                main()

main()

Und zwar stürzt das Programm ab, wenn nach einem strg+d ein strg+c erfolgt. Und obwohl dann auch dasteht keyboardinterrupt, kann Py das einfach nicht mehr abfangen. Wie man sehen kann, habe ich erst den sauberen Weg gewählt und die Exceptions angegeben. Aber lasse ich sie weg, ist der Fehler ebenso reproduzierbar. Falls jemand weiß wie man das umschiffen kann, wäre ich sehr dankbar.

Verfasst: Montag 23. Juni 2008, 10:18
von Rebecca
Jo, da bin ich auch mal drueber gestolpert: http://bugs.python.org/issue1195

Hier noch der ensprechende Forums-Thread: http://www.python-forum.de/topic-12045.html

Verfasst: Montag 23. Juni 2008, 10:29
von hector
wow, danke Rebecca

und für alle anderen:

importiert man das Modul readline, wird dieses Problem umgangen

(Verzeiht dass ich nicht die Suchenfkt. gebrauchte - mir fallen dafür immer keine passenden Suchbegriffe ein)