Exception as the primary error handling mechanism?
aioe.org at technicalbloke.com
Tue Jan 5 15:48:46 CET 2010
Steven D'Aprano wrote:
> On Tue, 05 Jan 2010 13:06:20 +0000, r0g wrote:
>> Well maybe I didn't quite get it then, could you explain a bit further?
>> My understanding was that asserts aren't executed at all if python is
>> started with the -O or -OO option,
>> or run through an optimizer.
> I don't know what you mean by that.
I've never used them but I heard there are optimizers for python
(psycho?). I assumed these would do everythin -O does and more,
including losing the asserts.
>> that's the case how can you expect it to validate anything at all in
> The asserts still operate so long as you don't use the -O switch.
>> Do you mean for debugging in situ or something? Could you
>> maybe give me an example scenario to illustrate your point?
> There are at least two sorts of validation that you will generally need
> to perform: validating user data, and validating your program logic.
<snipped very detailed and clear response, thanks :)>
Cool, that's what I thought i.e. you can't rely on asserts being there
so don't use them for anything critical but it's still a good idea to
use them for logic/consistency checking in production code as, should
you be running your production code unoptimised, it might catch
something you'd otherwise miss.
Thanks for responding is such detail :)
More information about the Python-list