In case there is any confusion, I want to stress that the resemblance between try/catch/finally and if/then/else is purely superficial, and the two should not be confused. As Sean noted, the finally clause always executes (barring some extremely complex and extremely unlikely constructions that code lawyers have come up with), so it's not like an else at all, and the catch executes iff the try block encounters an exception that the catch block can handle.
You'll mostly likely be dealing with catching the checked exceptions at this stage in your programming. That's not hard to understand, but it can lead to some complex code. For example, trying to open a file, you might end up with something like this:
boolean fail;
BufferedReader reader=null;
try{
reader = new BufferedReader(new FileReader(file));
fail = false;
}
catch (IOException e)
{
System.out.print("Error opening "+ getName() + " "+ e.toString());
e.printStackTrace();
fail = true;
}
if (fail) return;
// code here to read the file - another try block required! - or just
// return the BufferedReader and let another method do the reading
If I hit the catch block, I want to report the failure. I'm doing the minimal version of that here - in a deployed program, to be used by actual users, the reporting would probably involve popping up a warning window, offering to retry, and ideally, logging the failure as well as possible. That's not enough, however. If I hit the catch block, I know that reader is a null object - I don't want to continue on to actually trying to get data out of it, so I set a flag which tells me "Get out of here" - return from the method. Again, in a deployed application, I might instead throw an exception up to the method that called this one, so that it would know that this file-opening method had failed. That method would then have to know how to handle this problem. Of course, this takes us into writing your own exceptions, and that's a kettle of fish of a different color. You'll worry about that later, when you get into the actual engineering.
For now, what you need to know is that some operations are considered "risky", and they throw exceptions. When you perform those operations, you'll need to handle those exceptions, and the best way to do that in a classroom assignment is to just report the failure and move on. When you're writing programs for other people to use, you'll worry about actually dealing with the situations in the program.