我正在使用依赖注入实现 MVC 站点。我有可能会遇到错误的视图模型。我们认为将这些错误传达回相关控制器的最佳方式是抛出一些自定义异常。
我的问题:我想从一个公共基类派生这些异常,该基类将写入有关日志中发生的错误的信息。但是由于我们使用的是 DI,我们的日志对象是由我们的 IoC 容器构造和控制的。迄今为止,我们所有需要记录的对象都已由 IoC 容器构造和初始化。但这些异常将即时创建。
最常见的处理方法是什么?我可以看到如何创建一个 ExceptionFactory 类,将记录器注入其中,然后将其注入视图模型。但这似乎不太 IoC'ish。
是否有处理这种情况的常用习语?