一、异常处理简介
什么是异常:
-
程序在运行期间发生错误,导致运作终止
-
这种发生的错误,称之为 异常
异常信息有两个部分:
-
异常类型:异常类型
-
异常消息
NameError: name 'num' is not defined. Did you mean: 'sum'? FileNotFoundError: [Errno 2] No such file or directory: 'd:/aa' 异常类型【异常名称】 异常消息
处理异常,也称之为:捕获异常
处理异常的目的:即使程序发生了异常,程序也可以继续正常的运行
二、捕获异常格式
==============================简化版本的异常捕获的格=============================== try: 可能发生异常的语句 可能发生异常的语句 except 异常的名称: 语句 语句 ==============================完整版本的异常捕获的格============================ try: 可能发生异常的语句 可能发生异常的语句 except 异常的名称 as 变量名: # 使用as可以将异信息保存到变量中,也可以省略as及其后面的部分 语句 语句 except 异常的名称: 语句 语句 except 异常的名称: 语句 语句 ... else: # else 中的部分会在没有发生异常的情况才执行 语句 语句 finally: # finally中的语句,无论是否发生异常,语句都会执行 语句 语句
案例1:当将字符串转换为整数的时候发生了异常,捕获这个异常,确保程序可以正常运行
print("启动程序")
try:
s = "123a"
int(s)
except ValueError:
print("你输入的这个内容无法转换成整数类型")
print("程序结束")
案例2:捕获程序发生的所有的异常
-
Exception可以捕获所有类型的异常
print("启动程序")
try:
s = "123a"
int(s)
except Exception:
print("你输入的这个内容无法转换成整数类型")
print("程序结束")
案例:让用户输入一个文件,判断这个文件是否存在
userInput = input("请输入一个文件:")
flag = 1
try:
# 打开
f = open(userInput,'r')
# 读取
data = f.read()
# 关闭
f.close()
except Exception:
flag = 2
if flag == 1:
print("文件存在")
else:
print("文件不存在")
案例:让用户随意输入内容,判断这个输入是否为纯数字
userInput = input("请输入一个内容:")
flag = 1
try:
int(userInput)
except Exception:
flag = 2
if flag ==