2015-11-25 76 views
-2

运行我的脚本时出现错误,我知道它存在,但我不希望Python打印错误。错误(它是一个KeyError)在if语句中。有没有办法阻止if语句打印错误消息?阻止Python抛出KeyError异常

+4

https://docs.python.org/2.7/tutorial/errors.html#handling-exceptions – TigerhawkT3

+0

如果你只是想不显示错误,只是重新stderr流做的/ dev/null的,如果你有一个类Unix系统。它也可以在Windows下完成,但是在启动Python之前,它需要一个包装程序来进行重定向(至零)。但要小心,一个未被捕捉的KeyError会中止脚本... ... –

+1

_Fixing_问题几乎总是比单纯隐藏它好。如果我们能看到产生'KeyError'的代码,这将有所帮助。如果它是由'some_dict [bogus_key]'引起的,你可以改用['dict.get'](https://docs.python.org/2.7/library/stdtypes.html#dict.get)方法默认。 –

回答

-2

试试这个。

while True: 
    try: 
     x = int(raw_input("Please enter a number: ")) 
     break 
    except ValueError: 
     print "Oops! That was no valid number. Try again..." 
+1

这是如何回答这个问题的? –