Python 不捕获 try/except 错误

标签 python error-handling

我是 Python 新手。如果我的问题听起来很愚蠢,请原谅我。

下面的代码会引发错误,但 try/except 不会捕获该错误。我已经检查了很多次,但看不出问题所在。

如果这里的任何大师可以向我展示问题,我将非常感激。

感谢您的宝贵时间。

import decimal

try:
    Amount = str(decimal.Decimal('2.675a').quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_HALF_UP))
    print Amount
except ValueError:
    print 'Error'

我遇到的错误是:

File "C:\Python27\lib\decimal.py", line 548, in __new__
  "Invalid literal for Decimal: %r" % value)
File "C:\Python27\lib\decimal.py", line 3866, in _raise_error
  raise error(explanation)
InvalidOperation: Invalid literal for Decimal: '2.675a'

最佳答案

您的代码片段引发的错误是一个 decimal.InvalidOperation 异常。此异常不是 ValueError 的子类,因此与您的 except 子句不匹配。

我建议阅读 errors and exception handling 上的教程部分了解有关如何处理 Python 代码中的错误的更多概述。

关于Python 不捕获 try/except 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13284333/

相关文章:

php - 严格的标准〜E_STRICT PHP 5.3

iphone - iOS:Sqlite 数据库错误:由于未捕获的异常 'NSInternalInconsistencyException' 而终止应用程序,原因: 'error preparing statement'

c#-4.0 - MVC 自定义错误页面可以保留路由值吗?

python - 确定目录是否可写

python - 如何等待页面加载完成?

c# - 捕获错误并继续运输

oracle - perl中如何处理模块抛出的错误

python - pyephem 恒星时给出了意想不到的结果

python - 在包含 python 字符串的列表中提取列表

python - 提高网页抓取的速度/性能,但有很多异常(exception)情况