Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Hint: You can adjust the default video playback speed in your account settings.
Hint: You can set the default subtitles language in your account settings.
Sorry! Looks like there’s an issue with video playback 🙁 This might be due to a temporary outage or because of a configuration issue with your browser. Please see our video player troubleshooting guide to resolve the issue.

Python KeyError Exceptions and How to Handle Them: Summary

You now know some common places where Python’s KeyError exception could be raised and some great solutions you could use to prevent them from stopping your program.

Now, the next time you see a KeyError raised, you will know that it is probably just a bad dictionary key lookup. You will also be able to find all the information you need to determine where the error is coming from by looking at the last few lines of the traceback.

If the problem is a dictionary key lookup in your own code, then you can switch from accessing the key directly on the dictionary to using the safer .get() method with a default return value. If the problem isn’t coming from your own code, then using the try except block is your best bet for controlling your code’s flow.

Exceptions don’t have to be scary. Once you know how to understand the information provided to you in their tracebacks and the root cause of the exception, then you can use these solutions to make your programs flow more predictably.


Sample Code (.zip)

3.3 KB


Course Slides (PDF)

417.2 KB

Chasp on Nov. 26, 2019

Succinct and helpful. Really like Rich’s style of explanation. Learned something new!

Dev on Nov. 28, 2019

Very easy to follow

Anonymous on Nov. 29, 2019

Thorough & covers all the use cases.

bhumikalamba on Dec. 10, 2019

Can we just use try and except even if it is our code. that’s easier than figuring out if get method exists or not for the particular data structure that I am using.

Ghani on Oct. 24, 2020

Useful course; thank you!

Become a Member to join the conversation.