Lösung 2 - Exception fangen und bearbeiten

class NameList:
    """
    Diese Klasse dient der Nutzung von try-except, um das "fangen" eines Fehlers zu implementieren.
    Es wird bewusst eine Liste implementiert, bei der falsche Indexe möglich sind, so dass ein
    IndexError erzeugt wird.
    """
 
    def __init__(self):
        self._name_list = ['Konrad', 'Greta', 'Mike', 'Frida', 'Ephron']
 
 
    def take_name(self, index):
        """
        Liefert den durch index angegebene nNamen aus der Liste.
        Der index wird NICHT überwacht!
        """
        return self._name_list[index]
 
 
def main():
    name_list = NameList()
    try:
        for idx in range(6):
            print(name_list.take_name(idx))
    except IndexError as idx_err:
        print(idx_err)
 
 
if __name__ == '__main__':
    main()