更大的例外情况

时间:2011-04-30 00:14:12

标签: vb.net exception

我需要编写一个程序来指示使用异常的两个变量中较大的一个。

我不确定这是否是可接受的代码。我是新手,并尝试使用此代码:

Class GreaterThan
Public Shared Sub Main()
    Try
        Dim Y As Integer = 12
        Dim X As Integer = 23
        If Y > X Then
            System.Console.WriteLine(Y)
        Else
            System.Console.WriteLine(X)
            Throw New Exception("Greater Than")
        End If
    Catch ex As Exception
        System.Console.WriteLine(ex.Message)
    End Try
End Sub

结束班

我通常不会使用例外,但我被要求使用一个,我只是不确定哪种例外效果最好。

3 个答案:

答案 0 :(得分:0)

我不会在那种情况下使用例外。而是做这样的事情:

Public Shared Sub Main()
    Dim Y As Integer = 12
    Dim X As Integer = 23

    If Y > X Then
        System.Console.WriteLine(Y)
    Else
        System.Console.WriteLine(X)
        ' PERFORM ACTION BASED ON X > Y
    End If
End Sub

你也可以将它包装在一个函数中,该函数根据X和Y的不同返回True或False,但我认为它有点矫枉过正。

答案 1 :(得分:0)

我不确定问题到底是什么。您的代码似乎完全有效。它会显示: 23 大于

一般来说;你不想使用Exception来处理比较整数的事情。

有很多方法可以给猫皮肤,但你可能想看看这些:

        Console.Write(If(Y > X, Y, X))

        Console.Write(Math.Max(X, Y))

        Console.Write(New Integer() {X, Y}.Max())

我想我真的不明白你想要完成什么。如果 使用异常,我可能会想做类似......

的事情
If X > Y Then
    Throw New Exception(String.Format("{0} is greater than {1}", X, Y))
End If

答案 2 :(得分:0)

这是课堂上喜欢的方式:

 Class MyClient
   Public Shared Sub Main()
      Try
      Dim X As Integer = 11
      Dim Y As Integer = 12
      If X > Y Then
      System.Console.WriteLine("X is Greater")
      Else
      Throw New Exception("Y is Greater")
      End If
      Catch e As Exception
      System.Console.WriteLine(e.Message)
      End Try
    End Sub
End Class