Co się dzieje, że jeśli kod zgłasza wyjątek środowiska wykonawczego i że zakończenie nie działa, nie masz pojęcia, dlaczego, bo traceback nie zostanie wydrukowany. Spróbuj tego bardzo krótkiego kodu, aby zobaczyć, co mam na myśli: program powinien upaść na linii C = 2+ „ddda”, oczywiście jesteś dodając ciąg i int, który po prostu nie działa. Ale zamiast upaść, wyjątek jest złapany i nie masz pojęcia, co się dzieje. Program nadal działa, jak gdyby nic się nie stało.Jak mogę, aby mój program poprawnie się zawiesił podczas korzystania z modułu python cmd?
import cmd
class App(cmd.Cmd):
def complete_foo(self,*arg):
# Uncommenting this line will silently crash the progrm
# making it hard to debug.
# Is there a way to force the program to crash ?
c = 2 + "ddda"
return "d dzpo idz dza dpaoi".split(" ")
def do_foo(self,*args):
print "foo"
App().cmdloop()
Moje pytanie brzmi: jak wyświetlić błąd, gdy taki występuje? (przy użyciu modułu cmd).
Jeżeli kod nie jest wywoływana w 'try' bloku, który obsługuje ten błąd, należy zatrzymać się z powodu błędu i traceback. – Barmar