from pip._vendor.distlib.compat import raw_input class ShortInputException(Exception): '''你定义的异常类。''' def __init__(self, length, atleast): Exception.__init__(self) self.length = length self.atleast = atleast try: s = raw_input('请输入 --> ') if len(s) < 3: # raise引发一个你定义的异常 raise ShortInputException(len(s), 3) except EOFError: print ('/n你输入了一个结束标记EOF') except ShortInputException, x:#x这个变量被绑定到了错误的实例 print('ShortInputException: 输入的长度是 %d,长度至少应是 %d'% (x.length, x.atleast)) else: print ('没有异常发生.')
运行结果:
$ python raising.py
请输入 -->
你输入了一个结束标记EOF
$ python raising.py
请输入 --> --> ab
ShortInputException: 输入的长度是 2, 长度至少应是 3
$ python raising.py
请输入 --> abc
没有异常发生.