如何修复此异常处理 [英] How do I fix this exception handling

查看:63
本文介绍了如何修复此异常处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要这个来验证用户的输入。它需要确保它是数字,并且它在-1 - 5的范围内,包括0作为有效输入。



我尝试过的:



I need this to validate an input from the user. It needs to ensure that it is numeric and that it is in the range of -1 - 5 including 0 as a valid input.

What I have tried:

Sub Main()
       Dim Years As Integer
       Dim Valid As Boolean = False

       Do Until Valid = True
           Console.WriteLine("Enter a number between -1 and  5")

           If IsNumeric(Console.ReadLine) Then
               Years = Console.ReadLine()
               Console.WriteLine()
               Select Case Years
                   Case -1 To 5
                       Valid = True
                   Case Else
                       Console.WriteLine("The number is outside the range")

               End Select
               Console.WriteLine("Enter a valid number")
           End If


       Loop
       Console.ReadLine()
   End Sub

推荐答案

你可以使用Int32.TryParse函数和一个小调整来获得所需的结果。见下文。

You can use Int32.TryParse function and a minor tweak to get the desire result. See below.
Dim Years As Integer
        Dim Valid As Boolean = False

        Console.WriteLine("Enter a number between -1 and  5")

        Do Until Valid = True
            If (Int32.TryParse(Console.ReadLine(), Years)) Then
                Select Case Years
                    Case -1 To 5
                        Valid = True
                        Console.WriteLine("Good job!!!")
                    Case Else
                        Console.WriteLine("The number is outside the range")
                End Select
            Else
                Console.WriteLine("Enter a valid number")
            End If

        Loop
        Console.ReadLine()



这里有测试它的链接 VB控制台整数范围 [ ^ ]


因为您尝试两次读取输入。您的代码应该是这样的:

Because you are trying to read the input twice. Your code should be something like this:
Try
    Years = Console.ReadLine()
    Console.WriteLine()
    ' check for valid number etc. ...

Catch Exception ' of some type
    Console.WriteLine("Enter a valid number")
End Try


这篇关于如何修复此异常处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆