Its really confusing sometimes when different people ask me to use “try-catch” or throws in my code while they religiously do the code reviews… Some ask me to stick to try-catch and others suggest just throwing all exceptions After getting frustrated for a couple of times, I finally decided to read through various resources and find out for myself what’s best! Below is the gist of my findings: What’s a Try-Catch Block?Oh yes the answer lies in its definition. A try-catch block helps us handle an exception. So basically its our own Exception Handling Construct…So use it when you would want your program to handle its exceptions by itself. Thus we should fall back to using Throws when your program/function isn’t handling the exceptions it raises. You simply pass on the exceptions to its higher layer Pass the ball!!!Hope this helps!