Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

6年前关闭。



Improve this question




我正在编写模板T的通用类。

它具有以下成员功能
T findElement (T data1)
{
    Tree<T> *tree=search (data1,TreeTop);
    if (tree==NULL)
        cout<<"\n Element Not FOund \n "';
    else
        // Usefult Part Of Code Which Returns A Data Of Type T (Generic)
}

现在,如果第一个条件是true,我应该抛出异常吗?

它会篡改我的函数返回类型吗?
对异常如何工作的一些解释将很有帮助。

最佳答案

是否引发异常是一个主观问题,具体取决于您的情况和编码风格。

通常,大多数人会说只在异常情况下抛出异常-因此,如果您期望许多搜索都不会返回结果,则返回一个特殊或特殊构成的元素是个好主意,如果在某些情况下这种情况很少发生或永远不会发生通常情况下,大多数开发人员将判断为异常。

关于返回类型:当函数引发时,没有返回类型,因为该函数永不返回,而是在调用上下文中,在catch的第一行继续执行程序。

关于c++ - 我应该返回值还是引发异常……? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24306792/

10-08 22:35
查看更多