There are some situations where you can code to avoid an exception rather than use a try/catch statement.
if(denom != 0) {
result = num / denom;
}
But if you wish to call a method that throws an exception you have no choice but to use try/catch. "So why does that method throw an exception?" I hear you ask. Because the author has no way to determine the almost infinite ways that something can go wrong nor anticipate how you want the code to perform if it does go wrong. Therefore the method throws the exception and whoever called it can handle it however they want.