Nested functions exception handling

Original question asked in Real Python slack group:

I have a question about chained exception handling method and how to return except conditions when I use it for one function which relies on another function. The code can be found below for more context: https://gist.github.com/kurianbenoy/59bc813b535adc3a739f87dd4d4f4fb7 It looks to me from answers I got from experienced folks in Real python, there are two ways to do this:

In main function write try/except code and raise the exception from nested inner function Hello this is my rewriten code which required a custom class in Python: py class ModelNotSupported(Exception): pass https://gist.github.com/kurianbenoy/346090c325dcf4f8f77ec3fbda3f0f99

supported = ["a", "b", "c", "en", "ta"]


def load_model(source, target):
    if source == target:
        raise ModelNotSupported("Hello how are you")
    if source in supported:
        if source == "en":
            return ("t", "t")
        else:
            raise ModelNotSupported("Language pair not available")


def predict_raw():
    try:
        tokenizer, model = load_model("en", "hello")
        return model
    except ModelNotSupported as e:
        return {"inputerror": e}

This can be be implemented with a function which returns messages, and based on which return based on the conditions.

Last updated