0

我的服务上有示例网络方法,

 <WebMethod()> _
Public Function AddThis(ByVal x As Integer, ByVal y As Integer) As Integer

    Dim mySum As Integer

    If Not IsNumeric(x) Then
        Return 0
    End If
    mySum = x + y
    Return mySum

End Function

当我调试它时,突然我对 x 或 y 值犯了错误,它给了我一个错误:

System.ArgumentException:无法将 gf 转换为 System.Int32。参数名称:type ---> System.FormatException:输入字符串的格式不正确。

我尝试检查值:

If Not IsNumeric(x) Then
            Return 0
        End If

但不断收到错误,是否可以在运行服务之前先检查值?

4

1 回答 1

1

在您检查“IsNumeric(x)”时,X 将始终是数字。您期望 Integer 作为参数,因此在调用函数 AddThis 时会发生错误。

在调用此函数之前,您必须检查 X 和 Y。或者,如果这不可能,请使用以下内容:

Public Function AddThis(ByVal x As String, ByVal y As String) As Integer

    Dim mySum As Integer

    If Not IsNumeric(x) Or Not IsNumeric(y) Then
        Return 0
    End If
    mySum = Integer.Parse(x) + Integer.Parse(y)
    Return mySum

End Function
于 2013-05-21T08:12:07.047 回答