Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Refactor Broken Error Handling | Safe File Operations and Debugging
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C# Exceptions and Error Handling Practice

bookChallenge: Refactor Broken Error Handling

Task

Swipe to start coding

Refactor a method with tangled error handling so it becomes clear and maintainable. The previous code had multiple nested try-catch blocks, unclear exception handling, and did not validate its arguments properly.

  • Throw an ArgumentException if filePath is null, empty, or contains only whitespace.
  • Attempt to read all text from the file at filePath.
  • Print the file's content to the console if successful.
  • If the file does not exist, catch FileNotFoundException and print a message including the exception's message.
  • If access is denied, catch UnauthorizedAccessException and print a message including the exception's message.
  • If any other IO error occurs, catch IOException and print a message including the exception's message.

Solution

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 4. ChapterΒ 6
single

single

Ask AI

expand

Ask AI

ChatGPT

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

Suggested prompts:

Can you explain this in simpler terms?

What are the main takeaways from this?

Can you give me an example?

close

bookChallenge: Refactor Broken Error Handling

Swipe to show menu

Task

Swipe to start coding

Refactor a method with tangled error handling so it becomes clear and maintainable. The previous code had multiple nested try-catch blocks, unclear exception handling, and did not validate its arguments properly.

  • Throw an ArgumentException if filePath is null, empty, or contains only whitespace.
  • Attempt to read all text from the file at filePath.
  • Print the file's content to the console if successful.
  • If the file does not exist, catch FileNotFoundException and print a message including the exception's message.
  • If access is denied, catch UnauthorizedAccessException and print a message including the exception's message.
  • If any other IO error occurs, catch IOException and print a message including the exception's message.

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Β 4. ChapterΒ 6
single

single

some-alt