Esta pregunta es más de un ¿cuál es la forma correcta de hacer algo ...utilizando & try/catch anidación
La pregunta ... ¿hay una orden de anidamiento adecuado entre un bloque y una using
try/catch
?
¿Está bien anidar toda la declaración using
dentro de un try/catch
y mantener los beneficios de un bloque using
? (¿o una excepción hará que la porción de cierre de la sentencia using se descarte en la ventana)
¿O debe anidar el try/catch
dentro de las declaraciones using
y rodear solo las declaraciones que hacen acceso a la base de datos?
ES ...
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 { }
menos/más correcto que ...
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 { }
}
¿Realmente necesita todos los detalles de su aplicación en el código provisto? Creo que un simple ejemplo inventado sería suficiente. –
El bloque de catch vacío es una práctica de programación extremadamente mala. No lo hagas! Te arrepentirás más tarde. – phoog
@JonathonReinhart Para mí fue más simple copiar y pegar un bloque de código que crear un ejemplo. Inventa código cuando siento que poner el código por el mundo podría ser malo. En este caso, no veo nada negativo, ¿por qué no? – Jared