2 of 2 Added [Excel], replaced [error-handling] with [exception-handling]

Correct way to assign variables before a try/catch/finally

using Excel = Microsoft.Office.Interop.Excel


Excel.Application app = null;
Excel.Workbooks books = null;
Excel.Workbook book = null;

object[,] data;

    app = new Excel.Application();
    books = app.Workbooks;
    book = books.Open("C:\...");

    Excel.Worksheet sheet = book.Worksheets[1];
    Excel.Range range = sheet.UsedRange;
    data = range.Value;
catch (Exception ex)
    throw ex;
    //To Do...

//code that the uses data object from above e.g.

In the code above I have to declare the objects app, books and book outside of the try block so that I have access to them in the finally block. However if I do not assign anything to them (i.e. Excel.Application app; instead of Excel.Application app = null;) then the compiler complains about the line app.Quit() saying "Use of unassigned local variable...". So is it correct to assign null to app etc in this case?

Also books doesn't get used in the finally block so is it better to declare it as I have, or should I declare it in the try block?