异常处理
异常处理是指在语法正确的前提下,程序运行时报错
异常的出现会导致程序直接崩溃退出,不再继续向下执行
异常处理是为了让代码具有一定的容错性:允许用户操作时出现的错误
捕获单个异常
格式:
try:
代码
except 异常类型1:
处理代码
exctpt 异常类型2:
处理代码
第二种格式:
try:
代码
except(异常1,异常2) as 别名:
处理代码
捕获所有异常
格式:
try:
代码
except:
异常处理
except后面不写异常类型,表示可以捕获所有异常信息
try:
代码
except Exception:
异常处理
Exception是所有异常的父异常,try抛出的异常,Exception都能捕获
else格式
try:
代码
except 异常类型 as 变量名:
print(变量名) 调用的是该异常类中的__str__方法
else:
代码
else中的代码是try中的代码完整执行,没有抛出异常时执行
若try中的代码抛出了异常,则else中的代码不会执行
try…finally格式
try:
代码
except 异常类型 as 变量名:
异常处理
finally:
代码
finally中的代码是不管try中的代码抛不抛出异常,始终会去执行
总结
单个异常:非常常用,一般在函数/类的方法中,执行,某个具体功能时使用,满足单一职责的情况下,函数或者类方法中出现的异常一般都是单个异常
多个异常:较为常用,一帮在流程函数中,可能出现多个异常,需要针对具体的异常进行独立处理,反馈给用户一个具体的提示信息
处理所有异常:常规项目使用较多,偷懒做法,如果对代码规范要求比较高的项目中使用不多
触发异常
在实际业务中我们可以根据实际情况来手动抛出异常
格式:
raise Exception("异常提示信息")
当程序执行到raise时会自动的触发异常,让程序结束
我们也可以根据系统提供的Exception类自定义自己的异常类
例:
class name(Exception):
def __init__(self):
pass
def __str__(self):
return “异常提示信息”