gpt4 book ai didi

c# - 在 finally block 中访问返回值是否合法且可能?

转载 作者:行者123 更新时间:2023-11-30 14:44:31 24 4
gpt4 key购买 nike

我希望在离开函数之前设置一个用户错误字符串,具体取决于函数中的返回码和变量。

我目前有:

Dim RetVal as RetType

try
...
if ... then
RetVal = RetType.FailedParse
end try
endif
...

finally
select case RetVal
case ...
UserStr = ...
end select
end try

return RetVal

是否可以使用 return RetType.FailedParse,然后在 finally block 中访问它?

最佳答案

在 C# 中执行此操作的唯一真正方法是在方法的开头声明一个变量来保存值 - 即

SomeType result = default(SomeType); // for "definite assignment"
try {
// ...
return result;
}
finally {
// inspect "result"
}

在 VB 中,您可能能够直接访问结果 - 因为 IIRC 无论如何它有点像上面那样工作(方法名称为“结果”)。警告:我真的不是 VB 人......

关于c# - 在 finally block 中访问返回值是否合法且可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/304847/

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