gpt4 book ai didi

C++:在构造函数>中进行完整性检查时,我是否需要/可以使用异常处理?

转载 作者:行者123 更新时间:2023-11-28 03:38:33 24 4
gpt4 key购买 nike

我正在为学校构建一个项目,我想加入一些异常处理(我们在类里面讨论过的话题)。

我一直在阅读它们以了解我可以在哪里以及如何使用它们,到目前为止我认为我可以遵循这些哲学,但只是为了检查我是否正确我想我会发布这个问题。

在对象的构造函数中使用异常处理来防止其数据成员采用非法值(例如,确保质量不是负数等)是否有用?

在修改对象数据成员的函数中怎么样(例如,修改对象长度的函数必须确保长度不低于零)?

我如何捕获这些错误(我们不想在 catch 中看到 main() 是吗,用户可以控制处理)?

或者我应该把上面所有的都放在一边,然后切换回旧的 cout << you entered a wrong value, continuing with the standard value" << endl; val = 1;

(或者这取决于项目是什么?)

最佳答案

它确实在某种程度上取决于项目,但对于除了玩具程序之外的任何东西,您很少可以选择继续使用默认值。尤其是在编写库代码时,让构造函数直接显示错误消息几乎总是不合适的(例如,如果有人试图在窗口程序中使用您的代码,cout 通常不会在全部。通过抛出异常,意识到它是窗口程序的程序的其他部分可以调用适当的函数(例如,Windows 上的 MessageBox)来显示错误消息。

关于C++:在构造函数>中进行完整性检查时,我是否需要/可以使用异常处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com