用一个装饰器代替 try except
要写很多封装的时候,大量的使用 try except 很麻烦,直接使用python装饰器解决
import functoolsdef handle_exceptions(func):@functools.wraps(func)def wrapper(*args, **kwargs):try:return func(*args, **kwargs)except Exception as e:# 打印出现异常的方法名和异常信息print(f"Exception occurred in method '{func.__name__}': {e}")# 可以根据需要选择是否抛出异常或者返回特定值# raise # 如果想要重新抛出该异常,可以取消注释这行代码return None # 或者返回某个默认值,如False, []等return wrapper# 使用装饰器示例
@handle_exceptions
def example_method(x, y):return x / y# 调用示例方法
result = example_method(10, 2)
print(result) # 正常情况输出: 5.0result = example_method(10, 0)
print(result) # 出现异常时输出异常信息,并返回None