Introduction
We use do-try-catch to safely run code that might fail. It helps us handle errors without crashing the program.
When reading a file that might not exist.
When converting user input to a number that might be invalid.
When calling a function that can throw an error.
When working with network requests that might fail.