【问题标题】:How can I throw exception inside a Generic Type Method?如何在泛型类型方法中抛出异常?
【发布时间】:2015-12-17 20:18:35
【问题描述】:

有没有办法在泛型方法中抛出甚至安全地返回异常?

我的示例代码如下所示:

public IEnumerable<T> findAverage<T>(float a, float b) where T : new ()
{
    try
    {
       ..... Do averaging instructions here......
    }
    catch(Exception e)
    {
       throw e   
    }
}

现在看起来不错,但问题是每当我创建一些测试类时,我的意思是分开测试的项目,错误重定向到创建的库的主要源代码。所以我想有没有办法在不重定向到主库源的情况下返回任何异常?

任何帮助 ||想法||简单的答案会很棒。谢谢!

【问题讨论】:

  • 你的问题很不清楚。另外,不要使用throw e;,而是使用throw;
  • 我会说泛型与您的问题无关。
  • 我正在创建一个非常简单的库,这就是简单的代码。

标签: c# .net exception generics


【解决方案1】:

一般来说,除非有明确的需要,否则最好不要在这个低级别的代码中捕获/重新抛出异常,而是让它们冒泡到前端(即你的前端end 或您的测试代码)以便他们酌情处理。

在这种情况下,如果您在平均代码中遇到异常,那么合理的处理方式是什么?如果你不处理这个,那就不要抓住它。

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    相关资源
    最近更新 更多