我写它使用实体框架,从数据库中获取/组数据,然后把它传递给一个MVC的Web应用服务层。 我不能决定什么是数据库错误返回给Web应用程序的bext方式。
我应该抛出一个异常,Web应用程序可以相应地处理它,或者我应该返回一个字符串/布尔传达数据库行动工作或没有?
什么是最好的做法什么建议吗?
谢谢
我写它使用实体框架,从数据库中获取/组数据,然后把它传递给一个MVC的Web应用服务层。 我不能决定什么是数据库错误返回给Web应用程序的bext方式。
我应该抛出一个异常,Web应用程序可以相应地处理它,或者我应该返回一个字符串/布尔传达数据库行动工作或没有?
什么是最好的做法什么建议吗?
谢谢
您可以不处理它们在你的服务层,也可以使用异常类,您将创建正常化他们。 例如:
public class DatabaseException: Exception
{
public string TableName { get; private set; }
public DatabaseException(string tableName, Exception innerException)
:base("There a database error occured.", innerException)
{
TableName = tableName;
}
}
只要你需要的任何信息添加到异常类的性质,并在构造函数初始化它们。
这真的不是最好的做法,与返回值告知异常高的水平,因为大部分的方法已经返回了一些数据。
你不应该处理异常的Web应用程序抛出,让自然异常抛出,甚至从数据访问层。 有了这样一来,很容易让你排除故障,尤其在生产阶段。 所以,如何处理好: