GreaterThan с исключениями - PullRequest
1 голос
/ 30 апреля 2011

Мне нужно написать программу, которая указывает большую из двух переменных, используя исключения.

Я не уверен, является ли это приемлемым кодом.Я новичок в этом и пытался использовать этот код здесь:

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 голосов
/ 30 апреля 2011

Я не уверен, что на самом деле вопрос. Ваш код кажется совершенно корректным. Это будет отображать: 23 Больше чем

Вообще говоря; Вы не хотели бы использовать Исключение для обработки чего-то вроде сравнения целых чисел.

Есть много способов снять шкуру с кошки, но вы можете посмотреть на них:

        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
0 голосов
/ 30 июля 2018

Вот как класс любит это делать:

 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
0 голосов
/ 30 апреля 2011

Я бы не использовал исключения в этой ситуации. Вместо этого сделайте что-то вроде этого:

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

Вы также можете обернуть его в функцию, которая возвращает True или False в зависимости от того, что такое X и Y, но я думаю, что это немного излишне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...