如何为方程式中的语法错误设置例外

时间:2019-06-25 07:02:40

标签: vb.net

我正在vb.net中制作一个简单的计算器。用户可以使用按钮在文本框中输入内容,而equals按钮可将字符串转换为方程式。它的工作原理非常完美,除了用户可以输入所需数量的运算符外,例如,他们可以添加7 ************* 3。这样会产生语法错误,但会显示在外部窗口中,我希望它在文本框中而不是在其他窗口中显示“语法错误”。

Private Sub ButtonClickMethod(sender As Object, e As EventArgs) Handles equalsBtn.Click 'and other buttons, but I left them out

Dim button As Button = CType(sender, Button)

If button.Name = "equalsBtn" Then
            Dim equation As String = TextBox1.Text
            Dim result = New DataTable().Compute(equation, Nothing)
            TextBox1.Text = result
        End If

'other buttons

End Sub

希望它在文本框中显示“语法错误”,而不是像现在一样在其他窗口中显示。

2 个答案:

答案 0 :(得分:0)

在用于运算符的按钮中使用布尔值。单击operatorInAction之类的东西,将其设置为true。使按钮什么也不打印,或者在operatorInAction为true时使其不可单击。添加数字时,将operatorInAction设置回false。您还可以将此功能扩展到=按钮,这样您就不会获得类似以下功能:2 * =

答案 1 :(得分:0)

Try
    Dim result = New DataTable().Compute(equation, Nothing)
    TextBox1.Text = result
Catch ex as Exception
    'TextBox1.Text = ex.Message
    TextBox1.Text = "Syntax Error"
End Try