


今天的Python基础篇小知识点讲解异常处理的方法,大家这么聪明,一看就会了。

1. 异常:当我们编写的Python程序的语法是正确的,在运行它的时候,也是有可能发生错误,这种运行期检测到的错误被称为异常。比如,当我们打印某个变量,语法没错,但是该变量未存在,程序就会抛出异常:NameError: name 'var1' is not defined。冒号前面NameError是异常名称,后面的是异常信息。
1.1 方法 try-except-else
try块:存放可能会出现异常的代码。
except块:当try块中的代码触发指定异常时,执行这里的代码,用于捕获并处理异常。
else块:如果try块中没有触发任何异常,就执行else块的代码。
# ---捕获异常-计算除法的小示例def divide_numbers_advanced():try:num1 = float(input("请输入被除数:"))num2 = float(input("请输入除数:"))result = num1 / num2except ZeroDivisionError: # 捕获Zero..异常类型print("错误:除数不能为0!")except ValueError: # 捕获Value异常类型print("错误:请输入有效的数字!")except Exception as e:# 捕获所有其他未指定的异常(万能捕获),并打印异常详情print(f"发生未知错误:{e}")else: # try块没有触发异常,再执行的代码print(f"计算结果:{result}")divide_numbers_advanced()
1.2 方法 try-except-else-finally
finally块:无论是否触发异常,finally块的代码一定会执行(常用于释放资源,比如关闭文件)。当然,先前介绍的with语句可以很好的解决资源释放问题。
# ---捕获异常-文件读取小示例def read_file(file_path):file = Nonetry:# 尝试打开并读取文件file = open(file_path, "r", encoding="utf-8")content = file.read()print("文件内容:")print(content)except FileNotFoundError: #异常类型为File...print(f"错误:文件 '{file_path}' 不存在!")except PermissionError: #异常类型为Perm...print(f"错误:没有权限读取文件 '{file_path}'!")except Exception as e: #万能捕获,打印异常详情print(f"读取文件失败:{e}")finally:# 确保文件被关闭(释放资源),若使用with语句,帮助自主释放,不用多file.close()if file:file.close()print("文件已关闭")read_file(file_dir)



总结:今日我们学习了Python基础篇-异常处理的方法。其核心是通过基础try-except及其拓展结构捕获并处理程序运行中的错误:try块存放可能出错的代码,except块可精准捕获指定异常或用Exception捕获所有异常,else块执行无异常时的逻辑,finally块则确保无论是否异常都执行(常用于释放资源)。在Python基础篇,后续我们将持续学习Python基础知识,祝每一位study er学习愉快。




