@Aki, @Daniel 
First, it is not good practice to only catch the generic "Exception" - you should catch a specific Exception THEN catch Exception at the end
And the kind of nesting you use depends on whether you can handle the exception and allow execution to proceed or not
e.g.
 
try {

    //a. simple exception is thrown but i can handle and continue execution                
    try {

    } catch (SimpleException ex) {
        //handle and let execution continue                                                
    }

    //b. some weird exception thrown here                                                  
    //dont want anything beyond this point to execute if any WeirdException was thrown     

}
catch(SomeWeirdException swe) {

}
catch(AnotherWeirdException awe) {

}
catch(Exception ex) {

}
finally {
    //clean up before exit                                                                 
}



-Billy