我有一个非常简单的问题。
我为我的SQL创建了一个存储过程,它看起来像这样:
IF(@CurrentStatus='Fulfilled')
BEGIN
RAISERROR ('Opps, this item is too hot to last too long. It is SOLD OUT!',16, 1)
RETURN -1
END
条件满足时将返回错误消息。
在我的C#代码中,我正在使用try-catch块。
我只想将上述存储过程中的错误消息显示在屏幕上。那么我应该使用哪种异常类型?
这是我的代码:
try
{
storeDB.AddToBuyingOrders(newOrder);
storeDB.SaveChanges();
TempData["Result"] = "Added";
return View();
}
catch (SqlException ex)
{
TempData["Result"] = ex.InnerException.Message.ToString();
return View();
}
答案 0 :(得分:1)
我想知道你为什么要问这个问题?你可以抓住Exception
在你的代码中放一个断点,并在几秒钟内得到答案!我甚至花了不到五分钟的时间才成为工作榜样,因为我很好奇你有什么问题,而你自己并不这样做。
要捕获的正确异常类型是EntityCommandExecutionException
或其父EntityException
。 SqlException
将位于InnerException
属性中,您将在此处收到消息。