-
异常处理的目的
异常是程序中出现的不正常的行为,不正常的行为操作会导致程序的崩溃!异常处理就
是为了保证程序中即使出现不正常的行为,也能保证程序的正常运行不至于崩溃退出。 -
基本语法
try[必须]: # 尝试 捕获异常
可能出现异常的代码块
一行或者多行代码
except[必须] 具体异常: # 捕获到具体某个异常
出现异常,处理异常
else[可选]:
如果没有出现异常,执行的代码块
finally[可选]:
不论是否出现异常,最终都要执行的代码,回收资源
- 处理异常
(1)处理单个异常
try:
age = int(input("请输入你的年龄:"))
except ValueError as e:
print("程序出现异常", e)
print("程序继续正常运行")
(2)处理多个异常
# 方式一:
try:
age = int(input("请输入你的年龄:"))
user = open("c:/hello.txt", "r")
except ValueError as e:
print("用户输入非法信息", e)
except FileNotFoundError as e:
print("文件没有找到", e)
print("程序继续正常运行")
# 方式二:
try:
age = int(input("请输入你的年龄:"))
user = open("c:/hello.txt", "r")
except ValueError, FileNotFoundError as e:
print("出新异常", e)
print("程序继续正常运行")
(3)处理所有异常
# 方式一
try:
age = int(input("请输入你的年龄:"))
user = open("c:/hello.txt", "r")
user2 = open("c:/hello.txt", "w")
except BaseException as e:
print("程序出现异常", e)
print("程序继续正常运行")
# 方式二
try:
age = int(input("请输入你的年龄:"))
user = open("c:/hello.txt", "r")
user2 = open("c:/hello.txt", "w")
except:
print("程序出现异常", e)
print("程序继续正常运行")
- 抛出异常
可用raise来抛出异常
def login()
username = input("请输入帐号:").strip()
if nsername == "admin":
print("登录成功")
else:
print("登录失败")
raise Exception("用户登录失败")