Saltar a contenido

Excepciones

La biblioteca lanza excepciones integradas de Python y una propia, FormNotFoundError, subclase de LookupError. Está disponible en esmorph.

Excepción Clase integrada Cuándo se lanza
FormNotFoundError LookupError El lexema no tiene una forma con los rasgos pedidos, o el diccionario no tiene el lexema del análisis (inflect)
ValueError - El rasgo o el valor no está en el diccionario (inflect); el archivo no es un diccionario de esMorph o está dañado, la ruta tiene un carácter NUL (Analyzer)
TypeError - Un argumento de tipo incorrecto: una palabra o un valor de rasgo que no es una cadena, una cadena o bytes en lugar de una colección de palabras (analyze_many, lemmatize), una ruta del diccionario que no es una cadena ni PathLike (Analyzer)
FileNotFoundError OSError El archivo del diccionario no existe (Analyzer)
PermissionError, IsADirectoryError y otras OSError El archivo del diccionario no se puede leer o no es un archivo (Analyzer)

Los mensajes de las excepciones están en inglés.

from esmorph import Analyzer, FormNotFoundError

morph = Analyzer()
try:
    morph.analyze("casa")[0].inflect(Gender="Masc")
except FormNotFoundError as e:
    print(type(e).__name__, isinstance(e, LookupError))
try:
    morph.analyze("gato")[0].inflect(Number="Plural")
except ValueError as e:
    print(e)
FormNotFoundError True
Unknown value of the feature Number: Plural; the dictionary has Plur, Sing