gpt4 book ai didi

c# - Rhino .OutRef 与 .Throw 不兼容?

转载 作者:行者123 更新时间:2023-11-30 18:40:38 25 4
gpt4 key购买 nike

我有一个没有参数的方法,它可能会抛出异常。我想用 Rhino 模拟测试这种行为,所以我这样做:

Expect.Call(() => mymethod(null, null, out integer1, out integer2))
.IgnoreArguments().OutRef(1, 2).Throw(new Exception());

但很明显异常是在 out 参数初始化之前抛出的。

是我做错了什么还是犀牛的正常行为?您将如何解决这个问题?

最佳答案

这可能是 Rhino.Mocks 中的错误。我认为使用 .Throw() 方法表示“当我调用此方法时,抛出此异常”。这就是它所做的一切——抛出异常。

我会重新设计代码,以免期望out 变量被初始化并且 抛出异常。当我将一个方法包装在 try/catch block 中并捕获异常时,我假设该方法可能在任何地方终止并且我不对可能已经完成(或未完成)的工作做出任何假设).

也许代码可以分成两种方法?

关于c# - Rhino .OutRef 与 .Throw 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com