findbug 发出的危险代码警告
Dodgy code Warnings by findbug
我有这样的代码:
public void myfun(int value) throws ApplicationException{
Object obj = new Object();
if(value == 1){
obj = <Call to other Service>
} else if (value == 2){
obj = <Call to other Service>
}
else {
throw ApplicationException();
}
}
我收到 FindBug 的警告,Dead 存储到 obj
。我知道这个错误是因为 obj 是局部变量而我没有在 else 语句中使用它。我该如何处理?
这不是狡猾的警告,而是不必要的死存储。与else条件无关
你的选择是..
使用变量,让商店不再死气沉沉..
Object obj; // don't new Object() here as we will only write over it
if(value == 1){
obj = something();
} elseif (value == 2){
obj = something();
} else {
throw new ApplicationException();
}
useTheObject(obj);
首先不要做死店。未使用变量?拿出来...
if(value == 1){
something();
} elseif (value == 2){
something();
} else {
throw new ApplicationException();
}
为什么将值存储在变量中而不对其进行任何操作?
我有这样的代码:
public void myfun(int value) throws ApplicationException{
Object obj = new Object();
if(value == 1){
obj = <Call to other Service>
} else if (value == 2){
obj = <Call to other Service>
}
else {
throw ApplicationException();
}
}
我收到 FindBug 的警告,Dead 存储到 obj
。我知道这个错误是因为 obj 是局部变量而我没有在 else 语句中使用它。我该如何处理?
这不是狡猾的警告,而是不必要的死存储。与else条件无关
你的选择是..
使用变量,让商店不再死气沉沉..
Object obj; // don't new Object() here as we will only write over it
if(value == 1){
obj = something();
} elseif (value == 2){
obj = something();
} else {
throw new ApplicationException();
}
useTheObject(obj);
首先不要做死店。未使用变量?拿出来...
if(value == 1){
something();
} elseif (value == 2){
something();
} else {
throw new ApplicationException();
}
为什么将值存储在变量中而不对其进行任何操作?