Vb.net 如何在Visual Studio 2012中捕获被0除的错误消息

Vb.net 如何在Visual Studio 2012中捕获被0除的错误消息,vb.net,visual-studio-2012,Vb.net,Visual Studio 2012,所以我正在为VisualStudio2012制作一个计算器。除了一件小事外,这就像95%的工作都完成了。当用户试图除以0时,我需要显示一条错误消息。我曾尝试在网上搜索,但找不到一个确定的方法。你到底是怎么做的?我的代码在下面 选项显式打开 公共类计算器 Dim FirstNumber As Single Dim SecondNumber As Single Dim AnswerNumber As Single Dim ArithmeticProcess As String Private Sub

所以我正在为VisualStudio2012制作一个计算器。除了一件小事外,这就像95%的工作都完成了。当用户试图除以0时,我需要显示一条错误消息。我曾尝试在网上搜索,但找不到一个确定的方法。你到底是怎么做的?我的代码在下面 选项显式打开 公共类计算器

Dim FirstNumber As Single
Dim SecondNumber As Single
Dim AnswerNumber As Single
Dim ArithmeticProcess As String
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
    txtAnswer.Text = txtAnswer.Text & 1
End Sub

Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
    txtAnswer.Text = txtAnswer.Text & 2
End Sub

Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click
    txtAnswer.Text = txtAnswer.Text & 3
End Sub

Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    txtAnswer.Text = txtAnswer.Text & 4
End Sub

Private Sub btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click
    txtAnswer.Text = txtAnswer.Text & 5
End Sub

Private Sub btn6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click
    txtAnswer.Text = txtAnswer.Text & 6
End Sub

Private Sub btn7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click
    txtAnswer.Text = txtAnswer.Text & 7
End Sub

Private Sub btn8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click
    txtAnswer.Text = txtAnswer.Text & 8
End Sub

Private Sub btn9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click
    txtAnswer.Text = txtAnswer.Text & 9
End Sub

Private Sub btn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click
    txtAnswer.Text = txtAnswer.Text & 0
End Sub

Private Sub btnDecimal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecimal.Click
    txtAnswer.Text = txtAnswer.Text & "."
End Sub

Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
    FirstNumber = Val(txtAnswer.Text)
    txtAnswer.Text = "0"
    ArithmeticProcess = "+"
End Sub

Private Sub btnMinus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMinus.Click


    FirstNumber = Val(txtAnswer.Text)
    txtAnswer.Text = "0"
    ArithmeticProcess = "-"
End Sub

Private Sub BtnMultiply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMultiply.Click
    FirstNumber = Val(txtAnswer.Text)
    txtAnswer.Text = "0"
    ArithmeticProcess = "X"
End Sub

Private Sub btnDivide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDivide.Click
    FirstNumber = Val(txtAnswer.Text)
    txtAnswer.Text = "0"
    ArithmeticProcess = "/"


End Sub


Private Sub btnEquals_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEquals.Click
    SecondNumber = Val(txtAnswer.Text)
    If ArithmeticProcess = "+" Then
        AnswerNumber = FirstNumber + SecondNumber
    End If
    If ArithmeticProcess = "-" Then
        AnswerNumber = FirstNumber - SecondNumber
    End If
    If ArithmeticProcess = "X" Then
        AnswerNumber = FirstNumber * SecondNumber
    End If
    If ArithmeticProcess = "/" Then
        AnswerNumber = FirstNumber / SecondNumber
    End If
    txtAnswer.Text = AnswerNumber
End Sub

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    Me.txtAnswer.Clear()
End Sub

End Class

您不需要捕获错误,您需要验证输入

C#

VB.NET

If SecondNumber = 0 Then
   //you are trying to divide by 0
End If

试试看。。。Catch块用于在计算时捕获异常

Try
  answerNumber = firstNumber / secondNumber
Catch ex As OverflowException
  MsgBox("cannot divide by 0")
End Try

将Try函数作为代码的一个捕获器,同时也是一个“零捕获器”

Try
 ''''your code

Catch ex As OverflowException
  MsgBox("Sorry Something went wrong")
End Try
并停止“0”开始运行

  If ArithmeticProcess = "/" Then
If SecondNumber <> 0 Then
 MsgBox("You cannot divide by Zero")

Else
            AnswerNumber = FirstNumber / SecondNumber
        End If
   End If
如果算术处理=“/”则
如果第二个数字是0,那么
MsgBox(“不能被零除”)
其他的
应答号码=第一个号码/第二个号码
如果结束
如果结束
从设置开始,您会发现在设置过程中还有一些其他问题需要纠正。
  If ArithmeticProcess = "/" Then
If SecondNumber <> 0 Then
 MsgBox("You cannot divide by Zero")

Else
            AnswerNumber = FirstNumber / SecondNumber
        End If
   End If