0

我有一个非常简单的问题。

我为我的 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();
        }
4

1 回答 1

1

我想知道你为什么要问这个问题?您可以Exception在代码中设置断点并在几秒钟内得到答案!!!我什至花了不到五分钟的时间来制作工作示例,只是因为我很好奇有什么问题你不自己做。

要捕获的正确异常类型 isEntityCommandExecutionException或其父级EntityException。将SqlException在其InnerException财产中,您将在那里收到您的信息。

于 2011-07-07T21:35:42.033 回答