我在C#程序中有一个基本上如下的方法:
public bool Connect()
{
try
{
// try to connect
return true;
}
catch(MySqlException e)
{
throw new CustomException(e.Message);
return false;
}
}
问题在于这些特定线的顺序。编译器抱怨这一点,并将return
语句指示为无法访问的代码:
throw new CustomException(e.Message);
return false;
但它没有抱怨这个:
return false;
throw new CustomException(e.Message);
为什么第一个不起作用,但第二个起作用?一旦方法命中return
语句,它就不会退出吗?