如何在通用类型方法中抛出异常?

时间:2015-09-21 07:53:55

标签: c# .net exception generics

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

我的示例代码如下所示:

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

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

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

1 个答案:

答案 0 :(得分:1)

一般来说,除非明确需要这样做,否则通常最好不要在这个低级别的代码中捕获/重新抛出异常,而只是让它们冒泡到前端(即你的前端)结束或你的测试代码)让他们适当地处理它们。

在这种情况下,如果您的平均代码中出现异常,那么合理处理这个问题会是什么?如果你没有处理这个问题,那就根本不要抓住它。