赞
踩
基本格式
try:
#代码
except Exception as e:
#try中的代码有异常,此代码块中的代码会执行
try:
#代码
except Exception as e:
#try中的代码有异常,次代码块中的代码会执行
finally:
#无论try中的代码是否报错,都执行
常见应用场景:
异常细分处理示例
import requests from requests import exceptions while True: url = input("请输入要下载网页地址:") try: res = requests.get(url=url) print(res) except exceptions.MissingSchema as e: print("URL架构不存在") except exceptions.InvalidSchema as e: print("URL架构错误") except exceptions.InvalidURL as e: print("URL地址格式错误") except exceptions.ConnectionError as e: print("网络连接错误") except Exception as e: print("代码出现错误", e) # 提示:如果想要写的简单一点,其实只写一个Exception捕获错误就可以了。
错误细分处理
try:
# 逻辑代码
pass
#key错误
except KeyError as e:
# 小兵,只捕获try代码中发现了键不存在的异常,例如:去字典 info_dict["n1"] 中获取数据时,键不存在。
print("KeyError")
#值错误
except ValueError as e:
# 小兵,只捕获try代码中发现了值相关错误,例如:把字符串转整型 int("无诶器")
print("ValueError")
except Exception as e:
# 王者,处理上面except捕获不了的错误(可以捕获所有的错误)。
print("Exception")
自定义异常
class MyException(Exception):
pass
try:
#代码
except MyException as e:
print('MyException异常',e)
except Exception as e:
#try中的代码有异常,此代码块中的代码会执行
print('Exception',e)
触发异常
class MyException(Exception):
pass
try:
rasie MyException()
except MyException as e:
print('MyException异常',e)
except Exception as e:
#try中的代码有异常,此代码块中的代码会执行
print('Exception',e)
try:
#代码
except Exception as e:
#try中的代码有异常,次代码块中的代码会执行
finally:
#无论是否报错,都执行
在函数中,即使定义了return,也会执行finally代码块的代码
def func():
try:
#代码
print(111)
return 123
except Exception as e:
#try中的代码有异常,次代码块中的代码会执行
finally:
#无论是否报错,
print(666)
func()
111
666
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。