【发布时间】:2012-10-27 09:05:43
【问题描述】:
这段代码只是简单的抛出异常,因为short sNum被赋值为int num的大范围值,转换失败。反正。 我想循环请求,直到输入有效的短路范围。
static void Main()
{
int num = 40000;
short sNum = 0;
try
{
sNum = Convert.ToInt16(num);
}
catch (OverflowException ex)
{
// Request for input until no exception thrown.
Console.WriteLine(ex.Message);
sNum = Convert.ToInt16(Console.ReadLine());
}
Console.WriteLine("output is {0}",sNum);
Console.ReadLine();
}
谢谢。
【问题讨论】:
-
查找
while循环。 -
“循环请求”是什么意思?和短进入如何?由用户?
-
使用 TryParse (msdn.microsoft.com/en-us/library/9hh1awhy%28v=vs.100%29.aspx) 代替异常处理程序和 while 循环 (dotnetperls.com/while)。