UMC.SYSERR
“不需要的 UMC 方法调用”错误组与可能不需要的 System.exit() 和 System.gc() 等方法相关。调试打印(比如 System.out.println() 和 System.err.println())也可能是不需要的。当调用 System.err 流的打印方法时,会显示 UMC.SYSERR 警告。
漏洞与风险
在成熟的应用程序中,这种调用应限制在一个记录模块和功能控制台输出中;否则它将导致滥用诊断,这一问题应当进行修复。
缓解与预防
用记录器模块调用来替换打印到 syserr 的调用。用记录器调用或特定方法(比如 printRawToUser())的调用来替换打印到 stdout 的调用。
示例 1
复制
public int internalCalculateSum(int x, int y) {
if (x < 0 || y < 0) {
System.err.println("XXX: got strange arguments!");
}
return x + y;
}
针对第 11 行报告 UMC.SYSERR:使用 System.err 方法调用的调试打印并非所需。