To avoid all standard-answers I could have Googled on, I will provide an example you all can attack at will.
C# and Java (and too many others) have with plenty of ty
One aesthetic reason:
A try always comes with a catch, whereas an if doesn't have to come with an else.
if (PerformCheckSucceeded()) DoSomething();
With try/catch, it becomes much more verbose.
try { PerformCheckSucceeded(); DoSomething(); } catch { }
That's 6 lines of code too many.