Python KeyError Exception Handling Beispiele

Was ist die Python KeyError Exception?

Python KeyError wird ausgelöst, wenn wir versuchen, auf einen Schlüssel von dict zuzugreifen, der nicht existiert. Es ist eine der eingebauten Ausnahmeklassen und wird von vielen Modulen ausgelöst, die mit dict oder Objekten arbeiten, die Schlüssel-Wert-Paare haben.

Python KeyError Exception Handling mit Dictionary

Schauen wir uns ein einfaches Beispiel an, bei dem die Python KeyError Exception durch das Programm ausgelöst wird.

emp_dict = {'Name': 'Pankaj', 'ID': 1}

emp_id = emp_dict['ID']
print(emp_id)

emp_role = emp_dict['Role']
print(emp_role)

Output:

1
Traceback (most recent call last):
  File "/Users/pankaj/Documents/PycharmProjects/hello-world/journaldev/errors/keyerror_examples.py", line 6, in <module>
    emp_role = emp_dict['Role']
KeyError: 'Role'

Python KeyError Exception Handling

Wir können die Python KeyError Exception mit dem try-except-Block behandeln. Lassen Sie uns die oben genannte Python KeyError Exception behandeln.

emp_dict = {'Name': 'Pankaj', 'ID': 1}

try:
    emp_id = emp_dict['ID']
    print(emp_id)

    emp_role = emp_dict['Role']
    print(emp_role)
except KeyError as ke:
    print('Key Not Found in Employee Dictionary:', ke)

Output:

1
Key Not Found in Employee Dictionary: 'Role'

Vermeidung von Python KeyError beim Zugriff auf Dictionary-Schlüssel

Wir können KeyError vermeiden, indem wir die get()-Funktion verwenden, um auf den Schlüsselwert zuzugreifen. Wenn der Schlüssel fehlt, wird None zurückgegeben. Wir können auch einen Standardwert angeben, der zurückgegeben werden soll, wenn der Schlüssel fehlt.

emp_dict = {'Name': 'Pankaj', 'ID': 1}

emp_id = emp_dict.get('ID')
emp_role = emp_dict.get('Role')
emp_salary = emp_dict.get('Salary', 0)

print(f'Employee[ID:{emp_id}, Role:{emp_role}, Salary:{emp_salary}]')

Output:

Employee[ID:1, Role:None, Salary:0]

 

Python KeyError Exception Handling Beispiele

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: