Python本身拥有处理异常的方式,和Java一样的try
try:
可能发生问题的代码
except 异常类型 :
发生问题时执行的代码
如果你要波获得异常类型有多个,那么要写成如下的格式
try:
可能发生问题的代码
except (异常类型1,异常类型2,.......) as result :
发生问题时执行的代码
这样写的时候会把捕获的异常包装成result元组
当然你可以一次性捕获所有的异常
try:
可能发生问题的代码
except Exception as result :
发生问题时执行的代码
Python在异常处理方面,还可以支持else,作用是没有捕获到异常的时候执行的代码
try:
可能发生问题的代码
except Exception as result :
发生问题时执行的代码
else :
print('没有异常')
还支持finally,无论是否有异常都会执行
try:
可能发生问题的代码
except Exception as result :
发生问题时执行的代码
finally :
print('')
Python还支持自定义异常类
class Myc(Exception):
def __init__(self,len,m_len):
self.length = len
self.min_len = m_len
def __str__(self):
return '输入的密码长度为'+str(self.length)+'---系统要求最低为'+str(self.min_len)
def main():
try :
a = input('输入密码')
if len(a) < 3 :
raise Myc(len(a),3)
except Exception as result:
print(result)
main()
结果:
输入密码12
输入的密码长度为2---系统要求最低为3
|