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

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

在txtDisplay中输入无效的非数值字符串后,程序没有捕捉到类型转换异常。
各位给指点指点吧。。。
...全文
28 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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);
}
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-05-06 04:35
社区公告

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