Python捕获ZeroDivisionError时如何获取integer division or modulo by zero提示
报错信息差异原因
- Python 2.x 版本中,整数除0触发的
ZeroDivisionError异常默认描述为 integer division or modulo by zero - Python 3.x 版本对该异常描述做了精简,统一输出为 division by zero
你当前运行环境使用的是Python 3.x,所以默认输出后者的报错内容。
解决方案
直接显式捕获ZeroDivisionError异常,自定义输出你需要的报错内容即可,该方案不受Python版本影响,稳定性最高。修改后的代码如下:
a=int(input()) b=[] for i in range(a): b.append(list(input().split())) try: print(int(int(b[i][0])/int(b[i][1]))) except ZeroDivisionError: print("Error Code: integer division or modulo by zero") except Exception as e: print("Error Code: ", e)
如果需要兼容更多异常描述的自定义映射,也可以提前定义异常信息映射表,捕获异常后匹配输出即可。
内容的提问来源于stack exchange,提问作者Hasintha
相关产品推荐
相关产品推荐

