我有一种方法,如下所示:
void throwException(string msg)
{
throw new MyException(msg);
}
现在如果我写
int foo(int x, y)
{
if (y == 0)
throwException("Doh!");
else
return x/y;
}
编译器会抱怨 foo “并非所有路径都返回值”。
我可以向 throwException 添加一个属性来避免这种情况吗?就像是:
[NeverReturns]
void throwException(string msg)
{
throw new MyException(msg);
}
我担心自定义属性不行,因为出于我的目的,我需要编译器的合作。
为什么不直接将其更改为
int foo(int x, y)
{
if (y == 0)
throwException("Doh!");
return x/y;
}
这给出了相同的运行时结果,并且编译器不会抱怨。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)