que sigue es mi código:TypeError: excepciones deben ser clases de estilo antiguo o derivados de BaseException, no str
test = 'abc'
if True:
raise test + 'def'
Y cuando corro esto, me da la TypeError
TypeError: exceptions must be old-style classes or derived from BaseException, not str
Así ¿Qué tipo de tipo debería ser el test
?
Podría explicar por qué es tan malo para elevar una cadena como una excepción? – BioGeek
@BioGeek Los problemas con las excepciones de cadena incluyen solo algunas veces cuando se usa un literal tanto en 'raise' como' except', no proporciona un mecanismo OO para adjuntar información adicional a la excepción y no permite capturar categorías de múltiples tipos de excepción . Las excepciones se agregaron al idioma antes de las clases, y una vez que se agregaron las clases de excepción, las excepciones de cadenas solo se conservaron para compatibilidad con versiones anteriores. Su eliminación, como cualquier eliminación de (mis) características, simplificó el lenguaje. –
Gracias por mencionar la versión donde esta característica fue soportada por última vez. Eso me ayudó. – SpaceTrucker