Python自动化办公应用学习笔记35—异常的处理

内容分享3小时前发布
0 1 0

在程序执行过程中,当出现代码异常的时候,第一通过异常信息的提示来修改代码,从而达到无异常的情况。

一、异常处理

基本语法:

1. try-except 块

try:尝试执行可能出错的代码

except:捕获并处理异常

try:

# 可能引发异常的代码

except SomeException:

# 处理异常的代码

2.捕获多个异常

处理不同类型的异常、Python 3.10+支持括号分组

try:

# …

except (TypeError, ValueError):

# 处理多个异常

except ZeroDivisionError:

# 单独处理一个异常

Python自动化办公应用学习笔记35—异常的处理

3. else 子句(无异常时执行)、finally 子句(始终执行)

else:当没有异常发生时执行的代码。

finally:无论是否发生异常都会执行的代码(常用于清理资源,如关闭文件)。

try:

# …

except IOError:

# …

else:

# 没有异常时执行

finally:

# 总是执行

Python自动化办公应用学习笔记35—异常的处理

二、主动抛出异常—-raise 语句

1.使用`raise`语句引发异常:

if age < 0:

raise ValueError(“年龄不能为负数”)

2.重新抛出异常

在`except`块中使用`raise`(不带参数)可以重新引发当前捕获的异常。

try:

# …

except SomeError:

print(“记录日志”)

raise # 重新抛出当前异常

三、自定义异常

创建自定义异常类,一般继承自`Exception`类。

class MyCustomError(Exception):

“””自定义异常示例”””

def __init__(self, message, code):

super().__init__(message)

self.code = code

# 使用

try:

raise MyCustomError(“自定义错误”, 1001)

except MyCustomError as e:

print(f”错误代码 {e.code}: {e}”)

Python自动化办公应用学习笔记35—异常的处理

四、结构化模式匹配(Python 3.10+)

match-case 处理异常类型:

try:

# …

except Exception as e:

match type(e):

case ValueError:

print(“值错误”)

case TypeError:

print(“类型错误”)

case _:

print(“其他错误”)

实例:

文件操作异常

try:

with open(“财务报告.xlsx”, “rb”) as f: # 自动关闭文件

data = f.read()

except FileNotFoundError:

print(“文件不存在,请检查路径”)

except PermissionError:

print(“请先关闭Excel文件”)

Excel数据处理异常

import pandas as pd

try:

df = pd.read_excel(“销售数据.xlsx”)

total = df[“销售额”].sum()

except KeyError:

print(“错误:表格中缺少'销售额'列”)

except ValueError as e:

if “日期” in str(e):

print(“日期格式错误,请检查B列”)

概念

关键点

应用场景

try-except

捕获并处理异常

用户输入验证

else子句

无异常时执行

成功后的后续操作

finally子句

必须执行的清理工作

资源释放(文件/网络)

raise

主动抛出异常

业务规则检查

自定义异常

创建业务相关异常

领域特定错误处理

文件操作异常

FileNotFoundError, PermissionError

办公自动化文件处理

数据格式异常

ValueError, KeyError

Excel/CSV数据处理

© 版权声明

相关文章

1 条评论

  • 头像
    素履也往 投稿者

    35

    无记录
    回复