Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Exception Logging Context Manager | Practice with Context Managers
Python Context Managers

bookChallenge: Exception Logging Context Manager

In real-world Python programs, you may want to track when exceptions occur within a specific part of your code. Context managers make this process simple and consistent. By creating a custom context manager that logs exceptions, you can ensure that important errors are always noticed, even if you want the exception to continue propagating after being logged. This challenge will give you hands-on practice with the context management protocol and exception handling.

Task

Swipe to start coding

Create a context manager named ExceptionLogger that logs a message whenever an exception occurs inside its block. The message should include the exception type and message. After logging, the exception should still be raised as usual.

  • If no exception occurs, the context manager should do nothing.
  • If an exception occurs, print a message in the format: Exception caught: <exception type>: <exception message>.
  • After printing, allow the exception to propagate.

Solution

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 2
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

close

Awesome!

Completion rate improved to 8.33

bookChallenge: Exception Logging Context Manager

Swipe to show menu

In real-world Python programs, you may want to track when exceptions occur within a specific part of your code. Context managers make this process simple and consistent. By creating a custom context manager that logs exceptions, you can ensure that important errors are always noticed, even if you want the exception to continue propagating after being logged. This challenge will give you hands-on practice with the context management protocol and exception handling.

Task

Swipe to start coding

Create a context manager named ExceptionLogger that logs a message whenever an exception occurs inside its block. The message should include the exception type and message. After logging, the exception should still be raised as usual.

  • If no exception occurs, the context manager should do nothing.
  • If an exception occurs, print a message in the format: Exception caught: <exception type>: <exception message>.
  • After printing, allow the exception to propagate.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 2
single

single

some-alt