一)异常捕获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 valuedef 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 extry: print(set_passwd())except Exception as result: print(result)