①NameError:name ‘a’ is not defined
变量没定义
②SyntaxError:invalid systax
语法错误
③KeyError:‘age’
键不存在
④ModuleNotFoundError:No module name ‘request’
没找到模块
⑤TypeError:can only concatenate str(not ‘init’) to str
类型错误
try:
# 有可能出错的代码
except:
# 当try里面代码出错,会执行except中代码,可以在这里对异常进行处理
else:
# try中代码没出错,执行else中代码
finally:
# 不管try中代码是否出错,都会执行finally
捕获所有异常:
try:
number = flaot(input("请输入一个数字:"))
except Exception as e:
print(e)
捕获指定异常:
try:
a = b
except NameError as e:
print(e)
捕获多个异常:
try:
...
except NameError as e:
print(e)
except KeyError as e:
print(e)
...
raise:主动抛出异常
def add(a, b):
if not isinstance(a, int):
# 判断是否为什么类型
raise ValueError('a只能为int类型')
if not isinstance(b ,int):
raise ValueError('b只能为int类型')
return a + b