用户输入内容长度限制的异常

来源:互联网 发布:逆战对a卡还是n卡优化 编辑:程序博客网 时间:2024/05/13 00:18
class ShortInputException(Exception):
    '''A user-defined exception class'''
    def __init__(self,length,atleast):
        Exception.__init__(self)
        self.length=length
        self.atleast=atleast

try:

    s=raw_input('Enter something-->')
    if len(s)<3:
        raise ShortInputException(len(s),3)

except KeyboardInterrupt: #当用户取消输入时,引发此异常
    print "Cancel it "

except EOFError:
    print '\n Why did you do an EOF on me?'

except ShortInputException,x:

'''如果引发该异常ShortInputException实例赋给后面那个名字x;当用户输入内容长度<3时,引发此异常;建议此处使用except ShortInputException as x:如果引发该异常ShortInputException实例赋给后面那个名字x

'''

    print 'ShortInputException:The input was of length %d,\
was expecting at least %d' %(x.length,x.atleast)

else:
    print 'No exception was raised'