我想知道,是否有可能要求Unity“在解析时不包装任何用户异常”?
真的,为什么 Unity 会对 ResolutionFailedException 进行包装?它正在改变“构建服务契约(Contract)”,恕我直言,使用 Unity 进行对象初始化的事实应该是透明的,这意味着如果客户端等待来自“new”操作符的 IOException,它应该将其解开,即使对象是使用 Unity 创建的。
其他 IoC 容器的行为是否相同?
最佳答案
因为你的constructors should contain no logic .
我知道这不是一个完全令人满意的答案,但我不知道您可以在 Unity 中关闭此行为 - 我也确实同意这是一个奇怪的设计决策...
但是,如果您保持构造函数简单,就不会遇到这个问题。
关于c# - Unity 将异常包装到 ResolutionFailedException。如何避免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165439/