我在我的项目中使用实体框架,以MVC为前端,我已经用存储库模式实现了工作单元模式。
我在存储库上有服务层来处理业务。
我的问题是在哪里处理异常?
让显示层的所有异常通过并在控制器中处理它是个好主意,还是我需要在底层处理它?
发布于 2011-07-09 07:26:10
好吧,一般的想法是不让UI处理所有异常,这也很有意义。假设您有一个用ADO.NET实现的数据层。这里的一般模式是在数据层中处理SqlExceptions,然后将SqlException封装在一个更有意义的DatabaseLayerException中,由上层处理--然后一直遵循这个模式,这样您就可以得到诸如InfrastructureException、ApplicationException等.
最重要的是,您捕获所有未处理的ApplicationExceptions (并使所有异常继承此异常以获取多态性),并将所有未处理的异常捕获为不可能发生的特例,并尝试从中恢复。
我还建议使用日志记录,无论是手动还是使用AOP -您可以在网上找到大量的资源(也许是Log4Net ?)。
https://stackoverflow.com/questions/6632914
复制相似问题