Yes, this function is good idea, but just raising fail here will be not suitable.
Because other people may do not want to deal with this exception, what they care is whether redefine is ok.

So if you really need to raise these exception, implement in your own codes 
or tell people that they have to deal with it all the time in your comments.