如何在Python中检测ZeroDivisionError的具体错误描述
区分Python中ZeroDivisionError的不同错误消息
要区分同类型错误下的不同触发场景,你可以在捕获异常时提取错误消息内容,再通过if语句判断:
- 捕获异常时,将异常对象转为字符串(或读取其
args属性)获取具体错误消息 - 直接判断消息内容,区分不同的触发情况
示例代码:
try: # 替换成你要测试的除法操作 res = int(1) / int(0) except ZeroDivisionError as err: msg = str(err) if msg == "division by zero": print("这是整数除以零触发的错误") elif msg == "float division by zero": print("这是浮点数除以零触发的错误") else: print(f"未知的ZeroDivisionError类型: {msg}")
说明:
- 异常对象的字符串形式就是Python抛出的具体错误提示文本
- 这种方式依赖内置错误消息的稳定性,目前Python各版本中整数/浮点数除零的消息都是固定的上述内容
内容的提问来源于stack exchange,提问作者xyz
相关产品推荐
相关产品推荐

