To be slightly pedantic, C# gives you the option to throw an exception in that case (with either checked blocks or setting the CheckForOverflowUnderflow compiler flag to true), but the default behavior is to allow overflow.
I was under the impression that they compile with /checked per default. TIL!
The default actually depends on project language IIRC. C# has overflow checking disabled by default, VB.net has it enabled by default. Not sure about F#.