首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rhino .OutRef与.Throw不兼容?

Rhino .OutRef与.Throw不兼容?
EN

Stack Overflow用户
提问于 2011-10-26 23:55:53
回答 1查看 127关注 0票数 3

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

代码语言:javascript
复制
Expect.Call(() => mymethod(null, null, out integer1, out integer2))
                 .IgnoreArguments().OutRef(1, 2).Throw(new Exception());

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-27 20:11:48

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

我会重新设计代码,这样就不会期望out变量被初始化,就会抛出异常。当我将一个方法包装在一个try/catch块中并捕捉到一个异常时,我假设这个方法可能已经死在任何地方,并且我不会对已经完成(或没有完成)的工作做任何假设。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7905369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档