我需要编写一个程序来指示使用异常的两个变量中较大的一个。
我不确定这是否是可接受的代码。我是新手,并尝试使用此代码:
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
结束班
我通常不会使用例外,但我被要求使用一个,我只是不确定哪种例外效果最好。
答案 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