Challenge: 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
ArgumentExceptioniffilePathis 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
FileNotFoundExceptionand print a message including the exception's message. - If access is denied, catch
UnauthorizedAccessExceptionand print a message including the exception's message. - If any other IO error occurs, catch
IOExceptionand print a message including the exception's message.
Solution
Everything was clear?
Thanks for your feedback!
SectionΒ 4. ChapterΒ 6
single
Ask AI
Ask AI
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?
Awesome!
Completion rate improved to 4.17
Challenge: 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
ArgumentExceptioniffilePathis 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
FileNotFoundExceptionand print a message including the exception's message. - If access is denied, catch
UnauthorizedAccessExceptionand print a message including the exception's message. - If any other IO error occurs, catch
IOExceptionand print a message including the exception's message.
Solution
Everything was clear?
Thanks for your feedback!
SectionΒ 4. ChapterΒ 6
single