给看看为什么这个异常捕捉不到呢?

wanjunxiao 2004-05-06 04:35:10
try
{
leftValue=Convert.ToDecimal(txtDisplay.Text);
}
catch(System.InvalidCastException)
{
MessageBox.Show("您输入的不是一个有效的数值,请重新输入!");
}

在txtDisplay中输入无效的非数值字符串后,程序没有捕捉到类型转换异常。
各位给指点指点吧。。。
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
elusion 2004-05-06
  • 打赏
  • 举报
回复
如果你传一个typeof(int)
就是InvalidCastException,类库开发人员这样规定的
wanjunxiao 2004-05-06
  • 打赏
  • 举报
回复
问题解决,原来这是抛出的是一个FormatException异常,感谢elusion大哥,同时请问为什么这里抛出的不是InvalidCastException异常而是FormatException异常呢?
elusion 2004-05-06
  • 打赏
  • 举报
回复
try {
decimalVal = System.Convert.ToDecimal(stringVal);
System.Console.WriteLine(
"The string as a decimal is {0}.", decimalVal);
}
catch (System.OverflowException){
System.Console.WriteLine(
"The conversion from string to decimal overflowed.");
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string is not formatted as a decimal.");
}
catch (System.ArgumentNullException) {
System.Console.WriteLine(
"The string is null.");
}
wanjunxiao 2004-05-06
  • 打赏
  • 举报
回复
问题没有解决,望继续关注。。。
wanjunxiao 2004-05-06
  • 打赏
  • 举报
回复
c#里面退出一个事件处理程序用什么语句啊?刚学C#的菜鸟,等待指教。。。
BlueLevin 2004-05-06
  • 打赏
  • 举报
回复
catch(System.InvalidCastException ex)
{
MessageBox.Show(ex.Message);
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧