一 .代码
#异常处理案例
#自定义异常
class OutOfAge(Exception):
pass
try:
age = int(input("请输入你的年龄:"))
if age < 18:
raise OutOfAge
except OutOfAge:
print('AgeError 你是未成年人。')
#常见异常处理
x = input('请输入一个数:')
y = input('请输入另一个数:')
try:
a = int(x)
b = int(y)
c = a/b
except ValueError:
print('检查输入字符串是否为可转换为整数。')
except ZeroDivisionError:
print('除以 0 错误。')
#默认异常处理方案
try:
file = open("不存在的文件.txt", "r")
except Exception as e:
print(f"默认异常处理: {e}")
print("程序继续向下运行")
#主动触发异常
try:
a = input("输入一个数:")
#判断用户输入的是否为数字
if(not a.isdigit()): # isdigit()方法检测字符串是否由数字组成,返回:True False
raise ValueError("a 必须是数字") # 触发 ValueError 异常
except ValueError as e:
print("引发异常:",repr(e))
#无措处理方案
try:
age = int(input("请输入您的年龄: "))
except ValueError:
pass # 无操作处理
#finally 扫尾工作处理方案
try:
file = open("存在的文件.txt", "r")
# 模拟一些文件操作
data = file.read()
print("文件内容:", data)
except FileNotFoundError:
print("文件未找到")
finally:
if 'file' in locals():
file.close()
print("程序执行完毕")
二.运行结果