использование вложенности & try/catch

Этот вопрос больше похож на ПРАВИЛЬНЫЙ способ сделать что-то...

Вопрос... существует ли правильный порядок вложения между оператором ] используя блок и блок try/catch?

Можно ли вложить весь оператор usingв блок try/catchи сохранить преимущества блока using? (или исключение приведет к тому, что закрывающая часть оператора using будет выброшена из окна)

Или вы должны вложить try/catchв операторы usingи окружить только операторы, которые делают доступ к базе данных?

Является ли...

try {
     using( tsmtcowebEntities db = new tsmtcowebEntities() ) {
          violationList = ( from a in db.DriverTrafficViolationDetails
                            where a.DriverTrafficViolation.DriverApplicationId == DriverAppId
                            orderby a.DateOfOccurance descending
                            select a ).ToList<DriverTrafficViolationDetail>();
          GeneralViolation = ( from a in db.DriverTrafficViolations
                               where a.DriverApplicationId == DriverAppId
                               select a ).FirstOrDefault();
     }
} catch { }

менее/более правильным, чем...

using( tsmtcowebEntities db = new tsmtcowebEntities() ) {
     try {
          violationList = ( from a in db.DriverTrafficViolationDetails
                            where a.DriverTrafficViolation.DriverApplicationId == DriverAppId
                            orderby a.DateOfOccurance descending
                            select a ).ToList<DriverTrafficViolationDetail>();
          GeneralViolation = ( from a in db.DriverTrafficViolations
                               where a.DriverApplicationId == DriverAppId
                               select a ).FirstOrDefault();
     } catch { }
}
10
задан Ben Voigt 26 March 2012 в 20:57
поделиться