例外を通常の制御フローとして使用しないのはなぜですか?
私がGoogledを使用した可能性があるすべての標準的な回答を回避するために、私はあなたが自由に攻撃できる例を提供します。 C#やJava(とあまりにも多くの人は)タイプの「オーバーフローの行動のいくつかの私がすべてではないのと同様に行うのたっぷり持っている(例えばtype.MaxValue + type.SmallestValue == type.MinValue例: int.MaxValue + 1 == int.MinValue)。 しかし、私の悪質な性質を見て、この動作を拡張して、この傷害にいくつかの侮辱を加えますDateTime。たとえば、オーバーライドされたタイプとしましょう。(私DateTimeは.NETで封印されていることを知っていますが、この例では、DateTimeが封印されていないことを除いて、C#とまったく同じ擬似言語を使用しています)。 オーバーライドされた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 the given …