我正在尝试制作一个您在其中输入整数的程序,但是如果您未输入整数,请处理该异常。但是,我在互联网上找不到整数的任何例外。
public static string IfSelected(this HtmlHelper html, string action)
{
return html
.ViewContext
.RouteData
.Values["action"]
.ToString() == action
? " active"
: "";
}
- 如果您要求输入整数而不得到整数,有人知道吗?
答案 0 :(得分:4)
是的,使用ValueError
有关python try except的更多信息。浏览builtin exceptions列表,这对您有帮助。
此外,当像这样引发内置exception
时-
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a'
你可以看到
ValueError: invalid literal for int() with base 10: 'a'
因此python引发ValueError
,这是您需要使用的例外。
答案 1 :(得分:4)
您始终可以在解释器中尝试一下,以查看引发了哪些错误:
>>> int('a')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a'
现在您知道它是ValueError
,只需更改您的代码即可:
while True:
try:
i = int(input('Enter an INTEGER: '))
except ValueError:
print("You must enter an INTEGER, not any other format of data")
else:
break # to exit the while loop
答案 2 :(得分:1)
您可以使用“ ValueError”异常
while True:
try:
i = int(input('Enter an INTEGER: '))
except ValueError:
print("You must enter an INTEGER, not any other format of data")