请参阅以下代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
Dim i As Long = 1000000000000000000
Dim j As Integer = CInt(i)
Catch ex As ArithmeticException
MsgBox(ex.ToString)
End Try
End Sub
我抛出一个ArithmeticException:"算术运算导致溢出。",我期望。
使用C#可以创建已选中和未选中的上下文(http://msdn.microsoft.com/en-GB/library/74b4xzyw.aspx)。如果未选中上下文,则不会抛出异常。 VB.NET有类似的关键字吗?
我花了一些时间谷歌搜索项目属性等,但我没有找到我的问题的答案。
答案 0 :(得分:3)
VB.NET默认检查算术溢出 - 因此它不包含C#checked
关键字的任何等效项。
您可以设置项目范围设置以使编译器不检查这些 - Remove Integer Overflow Checks
,但是无法将特定位代码取消选中(或者如果使用此选项则检查)。< / p>
有关详细信息,请参阅this blog post。