【问题标题】:How does one manually throw a "overflow exception" in C++?如何在 C++ 中手动抛出“溢出异常”?
【发布时间】:2016-09-27 21:35:50
【问题描述】:

我对异常比较陌生。在我的程序的一部分中,如果特定变量超出某个值,我想手动抛出一个异常,该异常将表明该变量超出了可接受的范围。 16 位的变量仍然可以保存“无效”值,但在正常程序操作下,它只会保存它可以保存的可能值的子集。

如何生成这种特定类型的异常?

【问题讨论】:

  • 请问你的问题你的橡皮鸭并删除它(不是鸭子)
  • C++ 没有“溢出异常”的概念。相反,溢出的整数会默默地触发未定义的行为和/或包装。如果您想要特定类型的异常,则需要创建自己的异常。
  • 重新打开,因为 OP 不是试图检测实际溢出,而是试图检测某种“逻辑超出范围”。
  • 好吧,如果我必须“创建我自己的异常”,那么我就去研究一下
  • 复制候选人将是 stackoverflow.com/questions/148511/… 例如。

标签: c++ exception


【解决方案1】:
throw std::out_of_range("Your value doesn't belong to a valid range");

std::out_of_range定义在

#include <stdexcept>

文档:std::out_of_range - cppreference.com

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 2011-01-04
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    相关资源
    最近更新 更多