[Python-Dev] Re: PEP 246: LiskovViolation as a name (original) (raw)

Phillip J. Eby pje at telecommunity.com
Thu Jan 13 01:49:06 CET 2005


At 02:03 PM 1/12/05 -0600, Skip Montanaro wrote:

I don't think that's appropriate in this case. Liskov violation is something precise. I don't think that changing what you call it will help beginners understand it any better in this case. I say leave it as it and make sure it's properly documented.

Actually, the whole discussion is kind of backwards; you should never get a Liskov violation error, because it's raised strictly for control flow inside of conform and caught by adapt(). So the only way you can see this error is if you call conform directly, and somebody added code like this:

 raise LiskovViolation

So, it's not something you need to worry about a newbie seeing. The real problem with the name is knowing that you need to use it in the first place!

IMO, it's simpler to handle this use case by letting conform return None, since this allows people to follow the One Obvious Way to not conform to a particular protocol.

Then, there isn't a need to even worry about the exception name in the first place, either...



More information about the Python-Dev mailing list