python中的错误处理问题

时间:2015-05-05 02:14:25

标签: python error-handling

如果变量sizeOfList小于0,不是整数或大于1000,我想打印出ERROR。这就是我处理这些错误的方法:

if sizeOfList > 1000 or not isinstance(sizeOfList,int) or sizeOfList < 0:
    print "ERROR:"
    sys.exit()

除了变量等于零之外,它的工作原理非常好。它认为这是一个错误,当我真的只是想要它什么都不打印。我真的很困惑为什么会发生这种情况以及如何解决它。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

  

但是当它为零&#34;错误:&#34;打印出来,程序退出......这是为什么?

使用以下条件的唯一方法:

sizeOfList > 1000 or not isinstance(sizeOfList,int) or sizeOfList < 0

如果你的&#34;零&#34;值实际上是string。尝试

type(sizeOfList) 
在您的代码验证之前

修改

通常,您不想关心变量类型。试着这样写:

if !sizeOfList.isdigit():
    print "Not a number!"
    sys.exit()

if sizeOfList < 0 or sizeOfList > 1000:
    print "Not in range!"
    sys.exit()

答案 1 :(得分:0)

我不确定你想要完成什么,但这是一种方式。

>>> def test_list(input):
...     tmp = input
...     while True:
...             if len(input)<=0:
...                     print "out of range"
...                     break
...             else:
...                     print tmp.pop()
...
>>> l = [1,2,3,4,5,5,6]
>>> test_list(l)
6
5
5
4
3
2
1
out of range