捕获异常
在python编程中,如何res = fun(),fun函数报错,如何不中断函数进行,且能够继续执行但是后续可以判断这里时候有错误
在Python中,有几种方法可以捕获函数错误而不中断程序执行,并且能够判断是否发生了错误:
方法1: 使用 try-except 捕获异常
try:
res = fun()
error_occurred = False
except Exception as e:
res = None # 或设置默认值
error_occurred = True
error_message = str(e)
print(f"发生错误: {e}")
# 后续判断
if error_occurred:
print("处理错误情况")
else:
print("正常执行")
方法2: 封装成返回错误状态的函数
def safe_fun():
try:
result = fun()
return result, None # 返回 (结果, 错误)
except Exception as e:
return None, e # 返回 (None, 错误对象)
# 使用
res, error = safe_fun()
if error:
print(f"出错了: {error}")
else:
print(f"成功: {res}")
方法3: 使用标志变量
res = None
success = False
try:
res = fun()
success = True
except Exception as e:
success = False
print(f"错误: {e}")
# 继续执行其他代码
if success:
# 使用 res
pass
else:
# 处理错误情况
pass
方法4: 返回特殊值标识错误
def safe_call(func, default=None):
try:
return func()
except Exception as e:
print(f"错误: {e}")
return default
res = safe_call(fun, default="ERROR")
if res == "ERROR":
print("函数执行失败")
推荐使用方法2,因为它既能获取结果,又能获取具体的错误信息,便于后续的错误处理和调试。

浙公网安备 33010602011771号