Этот вопрос больше похож на ПРАВИЛЬНЫЙ способ сделать что-то...
Вопрос... существует ли правильный порядок вложения между оператором ] используя блок
и блок 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 { }
}