擅长:python、mysql、java
<p>另一种可能的解决方案是将实现分为两个功能:</p>
<ol>
<li>函数<code>foo()</code>带有不带try语句的逻辑。这样您就可以确保实现中没有抛出异常。</li>
<li><code>safe_foo()</code>将<code>foo()</code>包装到try语句中。然后,您可以模拟<code>foo()</code>来模拟由它引发异常,并确保捕获到每个异常。</li>
</ol>
<p>缺点是<code>foo()</code>将是公共接口的一部分,或者您将为私有函数编写测试。</p>