如何修复此异常处理 [英] How do I fix this exception handling
本文介绍了如何修复此异常处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要这个来验证用户的输入。它需要确保它是数字,并且它在-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()
因为您尝试两次读取输入。您的代码应该是这样的:
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屋!
查看全文