Vb.net 如何在Visual Studio 2012中捕获被0除的错误消息
所以我正在为VisualStudio2012制作一个计算器。除了一件小事外,这就像95%的工作都完成了。当用户试图除以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
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