1.定义一个异常类,该类从Exception类中继承
2.在try中使用raise语句引发异常
3.except捕获异常,并执行相关命令
看以下的例子:
#_*_coding=UTF-8_*_
#使用自定义异常类实现指定输入字符串长度
#自定义异常类
class SomeCustomError(Exception):
def __init__(self,str_length):
super(SomeCustomError,self).__init__()
self.str_length = str_length
#使用自定义异常
length = input("输入指定输入字符串长度范围:\n")
while True:
try:
s = raw_input("输入一行字符串:\n")
#输入字符串长度超过指定长度范围,引发异常
if (length < len(s)):
raise SomeCustomError(length)
except SomeCustomError,x:
print"捕获自定义异常"
print"输入字符串重读应该小于%d,请重新输入!" % x.str_length
else:
print"输入字符串为%s" % s
break
该程序的作用是指定输入字符串长度,如果输入字符串长度超过指定长度,会引发自定义异常类,并返回重新输入,直到输入字符串长度满足指定长度,才退出程序,并打印输入的字符串.
分析程序执行结果:
1.输入指定字符串长度:3
2.输入字符串:1235,由于长度大于3,引发异常,重新输入
3.重新输入字符串123,满足字符串长度要求,打印输入字符串长度,并退出.