Trying to access a dictionary key that does not exist will raise a `KeyError`. When trying to access or remove a key that may not be there, several solutions are possible: * Use the `get()` method instead of a subscription. It will return `None` for a missing key instead of raising a `KeyError`. * Use the `setdefault()` method to provide keys that may be missing with a default value. * Check that the key is present in the dictionary with the `if key in dict:` construct. * Use a `try/except` block and handle the potential `KeyError`. * Use a `defaultdict` instead of a regular `dict` object. == Noncompliant Code Example [source,python] ---- def foo(): my_dict = {'k1': 42} ... value = my_dict['k2'] # Noncompliant ---- == Compliant Solution [source,python] ---- def foo(): my_dict = {'k1': 42} ... if 'k2' in my_dict: value = my_dict['k2'] ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] ''' endif::env-github,rspecator-view[]