c++ - 我应该返回一个值还是抛出异常......?

标签 c++ function exception return-value

<分区>

我正在编写一个通用类模板 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/

相关文章:

java - 是否可以使用 try-with-resources 语句完全防止异常屏蔽

c++ - 使用 .push_back 将新创建的项目添加到库存中

javascript - 在变量中声明一个 JavaScript 函数?

javascript - this.props.function() 在 React 应用程序中未定义?

C++ 有趣的函数定义

c++ - 如何阻止访客?

c++ - 添加 cout 语句可以更正输出?

c++ - 是否可以在需要字符串文字时使用 std::string::c_str() ?

c++ - 如何创建用户定义类型模板类对象 C++

javascript - 将 'unhandled' 网络 worker 异常标记为已处理