如果我在演员表上丢失数据,我可以在C ++中引发异常吗?

时间:2014-08-12 04:58:42

标签: c++ visual-studio exception

我正在开发一种传统的C产品,它具有大量的铸件和潜在的数据丢失 - 从int转换为简短的东西。在Visual Studio中,有没有办法在发生数据丢失时导致异常,或者我是否需要用断言填充我的代码?

1 个答案:

答案 0 :(得分:3)

C ++没有语言功能来支持在有损转换上抛出异常。如果你使用大括号初始化,从C ++ 11开始,编译器需要让你知道可能缩小的转换,但这并不意味着转换正在缩小在实践中(即在运行时)。

这样的最佳解决方案是编写自己的库来执行此操作,或者使用已存在的库,例如SafeInt