C# try catch 中使用return 的问题
今天在使用trycatch的时候发现一个很奇怪的问题甚是不解忘高人指点。分数不多,请见谅。在此先行谢过。1.在一个static方法中代码如下:注意return在try里面...
今天在使用try catch的时候发现一个很奇怪的问题 甚是不解 忘高人指点。
分数不多,请见谅。 在此先行谢过。
1. 在一个static 方法中 代码如下:注意 return在try里面。 此方法没有error。
public static bool isValid()
{
try
{
...........................
return isvalid;
}
catch (Exception ex)
{
throw ex;
}
}
2. 在一个winform 的cs 文件中, 使用了以上模式, 但是报错, 并需要给一个返回值。 改成以下形式才不会报错。注意 return在try catch的外面。
private DataTable saveUser_common()
{
DataTable dt = null;
try
{
dt = .....
}
catch (Exception ex)
{
MessageBox.Show(CommonMethod.ErrorFormat(ex));
}
return dt;
}
请指点为什么会这样呢? 难道是 public static 方法和private 方法的缘故吗 ? 如果真是这样, 又有何依据呢 ? 展开
分数不多,请见谅。 在此先行谢过。
1. 在一个static 方法中 代码如下:注意 return在try里面。 此方法没有error。
public static bool isValid()
{
try
{
...........................
return isvalid;
}
catch (Exception ex)
{
throw ex;
}
}
2. 在一个winform 的cs 文件中, 使用了以上模式, 但是报错, 并需要给一个返回值。 改成以下形式才不会报错。注意 return在try catch的外面。
private DataTable saveUser_common()
{
DataTable dt = null;
try
{
dt = .....
}
catch (Exception ex)
{
MessageBox.Show(CommonMethod.ErrorFormat(ex));
}
return dt;
}
请指点为什么会这样呢? 难道是 public static 方法和private 方法的缘故吗 ? 如果真是这样, 又有何依据呢 ? 展开
5个回答
展开全部
有 throw 了,程序执行到此就要抛出异常到函数外面了,等效于return...
你可以再 throw后面再加一些语句, VS会警告你,检测到无法访问的代码!
你可以再 throw后面再加一些语句, VS会警告你,检测到无法访问的代码!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查一下,可能不是每条分支都有返回值。
某个分支漏掉返回值了,所以你在最后补上就不出错了。
你可以一段一段的试,看看是哪里漏掉。
某个分支漏掉返回值了,所以你在最后补上就不出错了。
你可以一段一段的试,看看是哪里漏掉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-26
展开全部
返回一个表示错误的值,比如-1,自己明白就行了
对啊,在WriteLine()之前加一个判断,
如果是表示错误的值,就不要写了啊。
对啊,在WriteLine()之前加一个判断,
如果是表示错误的值,就不要写了啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
actonst 说的对 你下面一个catch里是用了messagebox.show
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询