gpt4 book ai didi

C#函数无法返回——阻止编译器警告

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:07 24 4
gpt4 key购买 nike

我有一个保证永远不会返回的函数。它记录数据并抛出异常。

public int f()
{
... do stuff ...
if(condition)
BadUserData.Throw(... parameters...);
else
return 0;
}

我收到错误消息“并非所有代码路径都返回一个值。我当然可以通过在非返回函数之后的虚拟返回来解决这个问题,但我想知道是否有一个属性或我可以应用于 Throw 函数的东西它表明它永远不会返回?我看了一下没有找到。

最佳答案

不,没有。实际上,为了获得最合适的调用堆栈,我会有更像下面的内容,其中方法创建异常但我们在本地throw它:

if(condition)
throw BadUserData.CreateSomeFormOfException(... parameters...);

一次性解决这两个问题。

另一种更懒惰的方法是:

if(condition) {
// throws <===== comments are important here ;p
BadUserData.Throw(... parameters...);
}
return 0;

关于C#函数无法返回——阻止编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6272262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com