I have the following code:
public static Point operator /(Point point, double value)
{
if (value == 0)
{
throw new DivideByZeroException("Cannot divide by zero");
return Point.Origin;
}
return new Point(point.X / value, point.Y / value, point.Z / value);
}
在Visual Studio中,第一个返回语句(return Point.Origin;
)被用绿色下划线标记。当鼠标悬停在下划线文本上时,会显示消息“检测到无法访问的代码”。这引出了我在标题中提出的问题:
在方法内抛出异常是否会导致该方法返回?
throw new Exception
之后和任何catch/finally块之外的方法中的其他代码都不会被执行。为了澄清和回答这个问题,该方法不返回值,但它确实“返回”,也就是说程序执行返回到调用该方法的方法。 - Jackson Dean Goodwin