Я хотел бы спросить, если я получаю правильный синтаксис при использовании попытаться поймать в asp.netпопытаться поймать исключение
Мой код выглядит следующим образом:
public ActionResult Add_RefPerson(rms_referred_person ref_person)
{
if (ModelState.IsValid) {
try
{
ref_person.rf_referreddate = Date();
ref_person.rf_createdby = getBadge();
ref_person.rf_updatedby = null;
ref_person.rf_updateddate = null;
ref_person.rf_isactive = true;
db.rms_referred_person.Add(ref_person);
db.SaveChanges();
return RedirectToAction("Index");
}
catch (Exception ex) {
throw ex;
}
}
return Content("<script type='text/javascript'>alert('Cannot be saved');</script>");
}
Это моя попытка и поймать в правильном направлении? или я должен использовать этот.
public ActionResult Add_RefPerson(rms_referred_person ref_person)
{
try
{
if (ModelState.IsValid) {
ref_person.rf_referreddate = Date();
ref_person.rf_createdby = getBadge();
ref_person.rf_updatedby = null;
ref_person.rf_updateddate = null;
ref_person.rf_isactive = true;
db.rms_referred_person.Add(ref_person);
db.SaveChanges();
return RedirectToAction("Index");
}
}
catch (Exception ex) {
throw ex;
}
return Content("<script type='text/javascript'>alert('Cannot be saved');</script>");
}
Большое спасибо.
использовать 'throw;'., 'throw ex;' уничтожает трассировку стека из исключения. – jdphenix
Пожалуйста, никогда не делайте 'catch (Exception ex)' не говоря уже о 'catch (Exception ex) {throw ex; } '. Первая - плохая практика, а последняя просто ужасна. Вы должны только обрабатывать исключение, которое действительно является исключительным ** и **, из которого вы можете восстановиться. В противном случае допускаются исключения на вершину. Ваш код будет иметь меньше ошибок и будет более удобным, если вы это сделаете. – Enigmativity
Посмотрите, чтобы узнать больше о [Try Catch] (http://stackoverflow.com/a/32394690/3796048) –