为什么不将异常用作常规控制流?
为了避免我可能会使用Google的所有标准答案,我将提供一个示例,您可以随意攻击。 C#和Java(和太多的人)有很多类型的一些“溢出”的行为我不喜欢在所有(如type.MaxValue + type.SmallestValue == type.MinValue例如: int.MaxValue + 1 == int.MinValue)。 但是,从我的恶毒天性来看,我会通过将这种行为扩展为“ Overridden” DateTime类型来加重这种伤害。(我知道DateTime它在.NET中是密封的,但是出于这个示例的缘故,我使用的伪语言与C#完全一样,但DateTime没有密封)。 覆盖的Add方法: /// <summary> /// Increments this date with a timespan, but loops when /// the maximum value for datetime is exceeded. /// </summary> /// <param name="ts">The timespan to (try to) add</param> /// <returns>The Date, incremented with …