如何在值错误 - Python之后使程序自动重启

时间:2011-08-17 19:38:37

标签: python

所以我有这个程序将二进制转换为十六进制。如果你输入非0或1或者字符串多于或少于8位,我也有一个返回值错误的部分。

但我现在想要的是,如果程序确实得到了值错误,我该怎么编码它以便它在值错误后自动重启。

3 个答案:

答案 0 :(得分:2)

将代码放入循环中:

while True:
    try:
        # your code here
        # break out of the loop if a ValueError was not raised
        break
    except ValueError:
        pass # or print some error

答案 1 :(得分:2)

将代码包含在while循环中。

while True:
    try:
        #your code
    except ValueError:
        #reset variables if necesssary
        pass #if no other code is needed
    else:
        break

这应该允许你的程序重复,直到它运行没有错误。

答案 2 :(得分:0)

这是一个将其置于上下文中的小程序:

while True:
    possible = input("Enter 8-bit binary number:").rstrip()
    if possible == 'quit':
        break
    try:
        hex = bin2hex(possible)
    except ValueError as e:
        print(e)
        print("%s is not a valid 8-bit binary number" % possible)
    else:
        print("\n%s == %x\n" % (possible, hex))

只有在您输入quit时才会停止。