DAY 29 异常处理
2026/4/16 21:35:44 网站建设 项目流程

前言:

在后续深度学习项目通常运行时间长、资源消耗大,一个错误可能导致数小时甚至数天的训练中断,异常处理机制就像安全网,确保程序出错时能:

  • 保存当前进度

  • 记录错误信息

  • 优雅恢复或终止

一、常见的异常

SyntaxError (语法错误)

NameError (名称错误)

TypeError (类型错误)

ValueError (值错误)

IndexError (索引错误)

KeyError (键错误)

AttributeError (属性错误)

ZeroDivisionError (除零错误)

FileNotFoundError (文件未找到错误)

ModuleNotFoundError (导入错误)

二、try - except- else -fiinally

try: 包含可能引发异常的代码。

except: 处理在 try 块中发生的特定异常。

else: (可选)如果 try 块中没有发生任何异常,则执行此代码块。

finally: (可选)无论 try 块中是否发生异常,总会执行此代码块。

代码示例:

print("--- try-except-else-finally 完整示例 ---") 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 finally: # 无论是否发生异常,都会执行的部分 print("【finally】计算过程结束,正在清理...") print("=" * 40) # 测试用例 safe_divide(10, 2) # 成功 safe_divide(10, 0) # ZeroDivisionError safe_divide("10", 2) # TypeError safe_divide(20, "abc") # TypeError

@浙大疏锦行

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询