On Sat, May 21, 2016 at 01:34:20PM -0500, Saidov wrote:

> "decimal.InvalidOperation was unhandled by user code
> Message: [<class 'decimal.ConversionSyntax'>]"
> 
> *Question: *I tried looking up the meaning of this error, but couldn't find
> anything on the internet. *Can someone help me understand what's wrong with
> my code?*

https://duckduckgo.com/html/?q=decimal+InvalidOperation+python

will take you to the docs for Python 2. Changing the URL to version 3 
gives us:

https://docs.python.org/3/library/decimal.html

and searching for InvalidOperation gives us:

https://docs.python.org/3/library/decimal.html#decimal.InvalidOperation

which is not a lot of help as it only lists *some* of the things which 
will lead to that error, but we can try it at the interactive 
interpreter:

py> import decimal
py> decimal.Decimal("25")
Decimal('25')
py> decimal.Decimal("25x")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]


So the problem here is that when you call Decimal() with an invalid 
argument, you are expecting a ValueError, but Python raises 
decimal.InvalidOperation instead:

>                 try:
>                     expenses[ts.Date(row[0]).month] += decimal.Decimal(row[4])
>                 except ValueError:
>                     pass


-- 
Steve
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to