知识点回顾:
异常处理机制
debug过程中的各类报错
try-except机制
try-except-else-finally机制
在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。
作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。
try:
# 可能会引发异常的代码
except ExceptionType: # 最好指定具体的异常类型,例如 ZeroDivisionError, FileNotFoundError
# 当 try 块中发生 ExceptionType 类型的异常时执行的代码
except: # 不推荐:捕获所有类型的异常,可能会隐藏bug
# 当 try 块中发生任何其他未被前面 except 捕获的异常时执行的代码
try:
# 可能会引发异常的代码
except ExceptionType:
# 当 try 块中发生 ExceptionType 类型的异常时执行的代码
else:
# 当 try 块中【没有】发生任何异常时执行的代码
try:
# 假设 result_operation() 是一个可能出错的操作
value = result_operation()
except SomeError:
print("操作失败,使用默认值。")
value = default_value
else:
# 只有当 result_operation() 成功时,才执行这里的代码
print(f"操作成功,结果是: {value}。现在进行后续处理...")
process_value_further(value)
如果把 process_value_further(value) 放在 try 块内,那么如果 process_value_further 本身也可能抛出 SomeError(或其他 try 块想要捕获的错误),它就会被意外捕获。else 块确保了只有在 try 块中的代码完全无误地执行完毕后,才会执行 else 块的内容。
# 示例 a: 缺少冒号
def my_function()
print("Hello")
# 示例 b: 非法表达式
x = 5 +
print(x)
# 示例 a: 变量未定义
print(some_undefined_variable)
# 示例 b: 打错变量名
print(my_lisst) # 变量名拼写错误
print("Age: " + 25) # 字符串和整数
my_number = 10
my_number() # 尝试像函数一样调用一个整数
3704

被折叠的 条评论
为什么被折叠?



