我有这段代码:
public void myFunction(String label, String type, string command, int attempts = 0)
{
try
{
Utility.Logger("myFunction attempt " + attempts.ToSafeString() + " label " + label + " type " + type, command);
...stuff...
}
catch (Exception e)
{
if (attempts < 10)
return myFunction(label, type, command, attempts++);
else
return null;
}
}
正如你所看到的,我在catch分支中有一个递归调用,我在其中设置一个参数counter = counter + 1.
奇怪的是,我的日志中总是尝试= 0。为什么?我错过了什么?
答案 0 :(得分:7)
attempts++
之后增加attempts
,++attempts
在递归之前完成。
答案 1 :(得分:0)
尝试将attempts++
更改为++attempts
。