[Python-ideas] Should decimal.InvalidOperation subclass ValueError?

Rob Cliffe rob.cliffe at btinternet.com
Wed May 25 07:10:19 EDT 2016


What I was trying to say was:  I think of

     ValueError as applying to a single ("bad") value

     whereas ArithmeticError can arise from trying to combine multiple 
("good") values.  It wouldn't be appropriate for ArithmeticError to be a 
subclass of ValueError, because there is no single erroneous value that 
you can point to.


On 25/05/2016 09:08, Rob Cliffe wrote:
>
> Or more generally, any operation on multiple values, where each value 
> is valid individually, but the result of the operation is not:
>
> >>> p = Decimal('1E999999999')
>
> >>> q = Decimal('10')
>
> >>> try:
>
> ...     p*q
>
> ... except ArithmeticError:
>
> ...     print 'ArithmeticError'
>
> ...
>
> ArithmeticError
>
>
>
> On 25/05/2016 06:48, Guido van Rossum wrote:
>> Well, ZeroDivisionError doesn't derive from ValueError, does it? So 
>> it may not be a good idea, but it's certainly a tradition.
>>
>> On Tuesday, May 24, 2016, Greg Ewing <greg.ewing at canterbury.ac.nz 
>> <mailto:greg.ewing at canterbury.ac.nz>> wrote:
>>
>>     Guido van Rossum wrote:
>>
>>         It's very
>>         common for modules to define their own root exception class.
>>
>>
>>     And it's a nuisance when their exceptions only belong
>>     to their own private hierarchy and don't participate in
>>     any the standard classifications.
>>
>>     I don't think Decimal is directly to blame here, because
>>     deriving its exceptions from ArithmeticError seems like
>>     a reasonable thing to do. What *doesn't* seem reasonable
>>     to me is that ArithmeticError doesn't derive from
>>     ValueError. So far nobody has explained why that's
>>     a good idea.
>>
>>     -- 
>>     Greg
>>     _______________________________________________
>>     Python-ideas mailing list
>>     Python-ideas at python.org
>>     https://mail.python.org/mailman/listinfo/python-ideas
>>     Code of Conduct: http://python.org/psf/codeofconduct/
>>
>>
>>
>> -- 
>> --Guido (mobile)
>>
>>
>> _______________________________________________
>> Python-ideas mailing list
>> Python-ideas at python.org
>> https://mail.python.org/mailman/listinfo/python-ideas
>> Code of Conduct:http://python.org/psf/codeofconduct/
>
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160525/fad724c6/attachment.html>


More information about the Python-ideas mailing list