一)异常捕获try的定义:
try:
pass #可能存在异常的代码
except 错误类型1:
pass #对应的代码处理
except (错误类型2, 错误类型3):
pass #对应的代码处理
except Exception as result:
print(result) #打印错误信息
else:
pass #没有异常才会执行
finally:
pass #无论正常还是异常,都要执行。
二)异常捕获的特性-----异常具有传递行,所以一般在主函数中捕获异常。在其他函数中重点处理业务逻辑。这样不需要在代码中增加大量的异常捕获,可以保证代码的整洁性。
def fun1():
value = int(input('please enter a int:'))
return value
def fun2():
return fun1()
try:
print(fun2())
except Exception as result:
print("异常错误:%s" % result)
三)主动抛出异常raise
python中提供了一个exception类,
根据特有的业务需要,可以设置主动抛出异常
1)创建一个异常exception 类
2)使用raise关键字抛出异常
eg:
def set_passwd():
pwd = input("please enter the password:")
if len(pwd) >= 8:
return pwd
ex = Exception('the longth of pwd is not enough!')
raise ex
try:
print(set_passwd())
except Exception as result:
print(result)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。