documentaciones Python states:Python: Excepción definida por el usuario que confirma la regla
Excepciones típicamente deben ser derivada de la clase de excepción, ya sea directamente o indirectamente.
la palabra 'typically'
me deja en un estado ambiguo.
consideran el código:
class good(Exception): pass
class bad(object): pass
Heaven = good()
Hell = bad()
>>> raise Heaven
Traceback (most recent call last):
File "<pyshell#163>", line 1, in <module>
raise Heaven
good
>>> raise Hell
Traceback (most recent call last):
File "<pyshell#171>", line 1, in <module>
raise Hell
TypeError: exceptions must be classes or instances, not bad
por lo que cuando la lectura de los documentos de pitón, debo reemplazar 'typically'
con ''
?
¿Qué sucede si tengo una jerarquía de clases que no tiene nada que ver con la clase Excepción, y quiero 'subir' los objetos que pertenecen a la jerarquía?
puedo plantear siempre una excepción con un argumento:
raise Exception, Hell
Esto parece un poco incómodo para mí
Lo que tiene de especial la excepción (EDIT: o BaseException) clase, que sólo sus miembros de la familia puede ser levantado?
Más detalles sobre este requisito se pueden encontrar en http://www.python.org/dev/peps/pep-0352/ –