C# 函数中异常捕获的问题????
现在我有一个疑问,函数中的异常捕获问题:假如有这样一个函数FunctionA,返回值为bool类型,那么简单的函数体应该是
public bool FunctionA()
{
if(条件判断)
{
DoSomething...
return true;
}
else
{
DoSomething...
return false;
}
}
那么,如果我需要在这个函数里加入异常捕获,那该如何加呢?
如果写成
public bool FunctionA()
{
return false;
try
{
if(条件判断)
{
DoSomething...
return true;
}
else
{
DoSomething...
return false;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
}
则编译能通过,但在try的位置会出现一个提示:检测到无法到达的代码!
像这样的问题,该如何处理其中的异常,使得编译环境也不提示错误,而且能正常编译通过呢?
------解决方案--------------------上来都return了当然后边的代码无效
public bool FunctionA()
{
//return false;
try
{
if(条件判断)
{
DoSomething...
return true;
}
else
{
DoSomething...
return false;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
}
------解决方案--------------------看看代码吧
return false;
try
{
if(条件判断)
{
DoSomething...
return true;
}
else
{
DoSomething...
return false;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
什么都没做就return了
------解决方案-------------------- public bool FunctionA()
{
return false;
try
{
if(条件判断)
{
DoSomething...
return true;
}
else
{
DoSomething...
return false;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
}
你这啥代码。。刚进函数体就给return false了,下面的代码永远走不到
------解决方案--------------------HOHO去掉那行return false;
这应该可以通过编译的啊?
C# code
public bool FunctionA()
{
try
{
if(条件判断)