Practice in using try-catch-finally
Which one is a good combination with UI layers try-catch and a good practice in n-tier application and why?

1.
   

     try
        {
         //Statements
        }
        catch
        {
          throw
        }
        finally
        {
         //cleanup codes
        }

OR

2.
   

     try
        {
          // statements
        }
        catch(Exception ex)
        {
        }
        finally
        {
         // clean up
        }

and in UI layer

    try{
    }
    catch(Exception ex)
    {
     Log(ex);
    }
    finally
    {
      //clean up
    }
Practice in using try-catch-finally
===

Which one is a good combination with UI layers try-catch and a good practice in n-tier application and why?

1.
   

     try
        {
         //Statements
        }
        catch
        {
          throw
        }
        finally
        {
         //cleanup codes
        }

OR

2.
   

     try
        {
          // statements
        }
        catch(Exception ex)
        {
        }
        finally
        {
         // clean up
        }

and in UI layer

    try{
    }
    catch(Exception ex)
    {
     Log(ex);
    }
    finally
    {
      //clean up
    }