Отлов некорректных операндов в математических действиях - Visual Basic .NET
Формулировка задачи:
Привет.
Ошибки не возникает. Ответ равен "бесконечность".
Если посчитать корень из -2, то ответ будет какойто "NaN".
Как отловить некорректные операнды математических действий?
Листинг программы
- Dim x As Double = 1
- Dim y As Double = 0
- Try
- x = x / y
- Catch ex As Exception
- MsgBox(ex.ToString)
- End Try
- MsgBox(x.ToString)
Решение задачи: «Отлов некорректных операндов в математических действиях»
textual
Листинг программы
- Private Function Calc(ByVal op As String, ByVal x1 As Double, Optional ByVal x2 As Double = 0) As Double
- Select Case op
- Case "*"
- x1 = x1 * x2
- Case "/"
- If x2 = 0 Then Throw New DivideByZeroException
- x1 = x1 / x2
- Case "sqrt"
- If x1 < 0 Then Throw New InvalidOperationException("It it prohibited to take a square root of a negative number")
- x1 = Math.Sqrt(x1)
- End Select
- If Double.IsInfinity(x1) OrElse Double.IsNaN(x1) Then Throw New InvalidOperationException
- Return x1
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д