我们说我有功能:
void sayHello(String name, String surname);
我希望确保两个参数都有效。现在我这样做:
if (name == null)
throw new Exception("Name is invalid");
if (surname == null)
throw new Exception("Surname is invalid");
当我使用sayHello(null, null);
调用它时,我只获取有关无效name
的信息。
是否有一种干净的方法可以同时警告两个错误?通过干净,我的意思是没有两个标志(或更多参数的情况下更多)和许多if
语句?
这些摘录是Java版本,但我更愿意寻求通用的设计解决方案。
答案 0 :(得分:0)
我建议在每次验证时构建错误消息,但是在完成所有验证后抛出一次。
例如:
void someFunction(String param1, String param2, String param3) {
String error = "";
if (invalid(param1)) {
error += "param1 is invalid";
}
if (invalid(param2)) {
error += "param2 is invalid";
}
if (invalid(param3)) {
error += "param3 is invalid";
}
if (!error.equals("")) {
throw new Exception(error);
}
}