用户自己引发的异常处理
代码
python
# encoding = UTF-8
# 用户自己引发异常
class ShortInputException(Exception):
'''一个由用户定义的异常类'''
def __init__(self, length, atleast):
Exception.__init__(self)
self.length = length
self.atleast = atleast
try:
text = input('Enter someting -->')
if len(text) < 3:
raise ShortInputException(len(text), 3)
# 其他工作能够在此处正常运行
except EOFError:
print('Why did you do an EOF on me?')
except ShortInputException as ex:
print(('ShortInputException: The input was ' +
'{0} long,expected at least {1}')
.format(ex.length, ex.atleast))
else:
print('No exception was raised.')
运行结果
1.如果输入超过了3位数,截获错误
bash
Enter someting -->88888
No exception was raised.
2.如果输入没有超过3位数
bash
Enter someting -->12
ShortInputException: The input was 2 long,expected at least 3