在下面的代码行中,我在 while 循环中调用 validatePersonDTO 方法。如果当前记录的 validatePersonDTO 方法发生任何错误,我需要返回到 while 循环来处理下一条记录。
Note:
ValidatepersonDTo 方法在 while 循环所在的另一个类中。
这是一个非常基本的问题,我尝试了一些选项,但继续或返回都不行。
请让我知道您的建议。
while ((nextLine = reader.readNext()) != null) {
hrUploadValidator.validatePersonDTO(personDTO);
}
public void validatePersonDTO(PersonDTO personDTO) {
try {
validateCdsId(personDTO, logDTO,regionIdList);
validateEmpFirstName(personDTO, logDTO);
validateEmpLastName(personDTO, logDTO);
validateEffectiveIn(personDTO, logDTO);
}
最佳答案
假设 validatePersonDTO
在验证失败时抛出异常(这是唯一的选择,因为该方法是 void
),您在 中缺少一个 try/catch block code>while
循环:
while ((nextLine = reader.readNext()) != null) {
try {
hrUploadValidator.validatePersonDTO(personDTO);
} catch (Exception ex) {
// Log / otherwise process your exception here
}
}
一旦异常被记录或在 catch
block 中以其他方式处理,您的循环将从它停止的地方继续它的迭代。
关于java - 如果语句中包含的方法内部发生错误,则返回 while 循环条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451508/