python - 为什么 python 异常通常不打印违规值?

标签 python exception

例如,考虑以下情况:

>>> a = []
>>> a[12]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

异常不会打印超出范围的值。

我的猜测是我们不知道传入的任何内容的 __str__ 函数是否会引发异常,所以我们不去碰它?

最佳答案

这个值可以被打印出来,但事实并非如此。

然而,有一个tb module在 PyPI 上,它实际上会在堆栈跟踪中打印变量的值。

关于python - 为什么 python 异常通常不打印违规值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690546/

相关文章:

spring-mvc - 设置多个@ControllerAdvice @ExceptionHandlers的优先级

python - Python中频繁重复的try/except

iOS CALayerInvalidGeometry

java - 这是异常处理滥用吗?

python - 在不应用的情况下计算 Pandas 的条纹

python - Python中的 'is'关键字是如何实现的?

Java套接字: best way to retry upon Connection Refused exception?

python - Keras 损失函数取决于批量大小

python - 如何使用 Python 将 Azure 中的文件从一个存储帐户复制到另一个存储帐户?

python - 如何在Python中根据平均度数过滤scipy稀疏矩阵节点?