Day30 Python Study

@浙大疏锦行

python 复制代码
print("--- 使用 try-except 捕获 ZeroDivisionError ---")
numerator = 10
denominator = 0

try:
    print("尝试进行除法运算...")
    result = numerator / denominator # 潜在的风险代码
    print(f"计算结果是: {result}") # 如果上面出错,这行不会执行
except ZeroDivisionError:
    print("发生了一个除以零的错误!")
    result = "未定义 (除以零)" # 可以给一个默认值或提示

print(f"程序继续执行... 最终结果的记录为: {result}")
python 复制代码
print("--- 使用 try-except 捕获 TypeError ---")
x = "Total items: "
y = 5 # 假设这是一个从某处获取的数字

try:
    print("尝试连接字符串和数字...")
    message = x + y # 潜在的 TypeError
    print(f"最终消息: {message}")
except TypeError:
    print("类型错误!不能直接将字符串和数字相加。")
    print("尝试将数字转换为字符串进行连接...")
    message = x + str(y) # 修正操作
    print(f"修正后的消息: {message}")

print(f"程序继续... 生成的消息是: {message}")
python 复制代码
print("--- try-except-else 示例 ---")

def safe_divide(a, b):
    print(f"\n尝试计算 {a} / {b}")
    try:
        result = a / b
    except ZeroDivisionError:
        print("错误:除数不能为零!")
        return None # 或者其他表示失败的值
    except TypeError:
        print("错误:输入必须是数字!")
        return None
    else:
        # 只有当 try 块中的 a / b 成功执行时,这里才会执行
        print("除法运算成功!")
        print(f"结果是: {result}")
        # 可以在这里进行基于成功结果的进一步操作
        print(f"结果的两倍是: {result * 2}")
        return result

# 测试用例
safe_divide(10, 2)  # 成功
safe_divide(10, 0)  # ZeroDivisionError
safe_divide("10", 2) # TypeError (如果我们不先做类型转换的话)
safe_divide(20, "abc") # TypeError
相关推荐
Moment1 分钟前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅16 分钟前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
YUJIANYUE16 分钟前
PHP纹路验证码
开发语言·php
剪刀石头布啊18 分钟前
jwt介绍
前端
爱敲代码的小鱼25 分钟前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax
仟濹28 分钟前
【Java基础】多态 | 打卡day2
java·开发语言
孞㐑¥28 分钟前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Re.不晚29 分钟前
JAVA进阶之路——无奖问答挑战2
java·开发语言
八零后琐话32 分钟前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
3GPP仿真实验室34 分钟前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵