2013-03-31 49 views
0

试图捕捉在计算器中除以零的例外,它不工作,不知道我哪里出错了?尝试捕捉异常不显示消息框和捕捉错误

Private Sub btnEqual_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEqual.Click 

    If lblOperator.Text = "+" Then 
     txtAnswer.Text = Val(txtNumberOne.Text) + Val(txtNumberTwo.Text) 
    ElseIf lblOperator.Text = "-" Then 
     txtAnswer.Text = Val(txtNumberOne.Text) - Val(txtNumberTwo.Text) 
    ElseIf lblOperator.Text = "x" Then 
     txtAnswer.Text = Val(txtNumberOne.Text) * Val(txtNumberTwo.Text) 
    ElseIf lblOperator.Text = "/" Then 
     Try 
      txtAnswer.Text = Val(txtNumberOne.Text)/Val(txtNumberTwo.Text) 
     Catch ex As Exception When Val(txtNumberTwo.Text = 0) 
      MessageBox.Show("You cannot divdide by zero") 
     End Try 
    End If 

End Sub 
+0

为什么不简单检查该值是否为零?像'如果瓦尔(txtNumberTwo.Text = 0)然后MessageBox.Show(“你不能被零除。”)' –

+0

我试图使用try catch语句,以便我可以学习如何使用它们,但是我可以只是为= 0添加一个条件语句 – Spangle

回答