I love assert

Ian Kelly ian.g.kelly at gmail.com
Wed Nov 12 23:41:22 CET 2014


On Wed, Nov 12, 2014 at 3:13 PM, Anton <anschatten at gmail.com> wrote:
> On Wednesday, November 12, 2014 2:05:17 PM UTC-8, Ian wrote:
>> You don't need to remove it. Just reorganize it to make sure it
>> indicates actual exhaustion of possibilities. E.g. using the "assert
>> False" pattern from your post:
>>
>> if status == OK:
>>     ...
>> elif status == ERROR:
>>     ...
>> elif status == WARNING:
>>     ...
>> else:
>>     assert False
>
> If the code is run optimized and asserts are ignore CONFUSED statement would still not be handled and you will not know about it.
> I would do something like:

There's no way to make the CONFUSED status be handled without actually
changing the code. The difference is that this version will not
incorrectly treat CONFUSED as WARNING; it just won't do anything at
all if the code is optimized.



More information about the Python-list mailing list