Als einfaches Beispiel, wobei der folgende Code erzeugt eine Überlaufausnahme:VB.NET mit einem Teil der Gleichung Umgang einem Überlauf Ausnahme
Sub Main()
Dim x As Int16 = 2^10
Dim y As Int16 = 2^10
Dim z As Int16
z = CType(x * y/y, Int16)
Console.WriteLine(z)
Console.Read()
End Sub
Wenn Arithmetik durchgeführt wird, scheint es, dass, da die Gleichung progressiv berechnet wird, einen Teil der Gleichung wird ein Ergebnis erzeugen, das größer ist als der Datentyp, in den das Ergebnis gehen wird. Ich weiß, ich könnte z einen größeren Datentyp wie Int32 machen, aber gibt es eine Möglichkeit zu sagen, den Ausdruck als Int32 auszuwerten, dann versuchen, es zu einem Int16 zu konvertieren, bevor es in z gespeichert wird?
Dieser Code wird auch nicht unter Option Strict kompilieren – Plutonix