Этот вопрос больше из того, что это правильный путь, чтобы сделать что-то ...использованием и попробовать/поймать вложенности
Вопрос ... есть правильный раскрой порядок между using
блока и try/catch
?
Согласны ли вы встраивать всю инструкцию using
внутри try/catch
и поддерживать преимущества блока using
? (или исключение приведет к тому, что закрывающая часть оператора использования будет выбрасываться из окна)
Или вы должны вставить try/catch
в операторы using
и окружать только операторы, поддерживающие доступ к базе данных?
Is ...
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 { }
}
Вам действительно нужны все детали вашего приложения в предоставленном коде? Я думаю, что достаточно простого придуманного примера. –
Пустой блок блокировки - очень плохая практика программирования. Не делай этого! Вы пожалеете об этом позже. – phoog
@JonathonReinhart Мне было проще копировать и вставлять блок кода, чем составлять пример. Я составляю код, когда чувствую, что поставить код для мира может быть плохо. В этом случае я не вижу никаких негативов, так почему бы и нет? – Jared