CTime未知异常c ++

Posted

技术标签:

【中文标题】CTime未知异常c ++【英文标题】:CTime unknown exception c++ 【发布时间】:2014-05-15 11:00:20 【问题描述】:

我已经使用它的构造函数初始化了一个 Ctime 对象,如下所示:

CTime myTime = CTime( 1956, 12, 12, 4,40,12 );

但在运行应用程序时会引发未知异常。 在这种情况下有什么问题?请帮忙。

【问题讨论】:

您是否检查了文档以获取允许的值/范围? 请发布一个完整但最小的示例,供读者编译和试用。请注意,即使对于 MFC,这也是可能的。您不必使用 Visual Studio 向导。 CTime有这样的范围吗? 调试时发现这条语句抛出了异常。 【参考方案1】:

“number of seconds after January 1, 1970” 与 1956 年的日期不兼容。

在发布之前检查文档通常是个好主意。

如果您解释为什么不检查文档,甚至不检查异常,其他读者或最终来到这里的谷歌员工可以/可能受益?

【讨论】:

对不起。我猜没有人会想到时间范围。 那么我应该如何使用它来设置1970年之前的日期 @CodeRider:你不能。再次,从文档中,“日期上限是 12/31/3000。下限是 1/1/1970 12:00:00 AM GMT。”就是这样。一个非常不可用的时间课程。为什么不改用标准 C++ 库? CTime 有这个限制很奇怪。 SYSTEMTIME 结构一直支持到 1601 年。鉴于 MFC 如何使用 CTime 对象作为 SYSTEMTIME 的通用包装器,我不知道这不是一个错误。 纪元的开始源于Unix time,也体现在C和C++标准库的日期和时间函数中。但是,Unix 时间允许负值。回到儒略时间是有问题的,因为该日历在不同地区(和海上)的不同时间被逐步淘汰,但无论如何 1956 年是安全的。

以上是关于CTime未知异常c ++的主要内容,如果未能解决你的问题,请参考以下文章

C# sqlconnector 上的未知登录

C ++中的延迟执行策略

Java异常处理机制

(Accès refusé) 拒绝访问异常

vs2010中使用C#编写与ArcGIS Engine相关程序时提示错误,错误信息如下

C++-异常