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