(); i-6ren">
gpt4 book ai didi

java - 一次抛出多个相同类型的异常

转载 作者:行者123 更新时间:2023-12-01 17:47:40 24 4
gpt4 key购买 nike

我的意图是一次抛出两个Exception。代码:

    String str = "foo";

if (str.length() < 5) {
throw new Exception("At least 5 characters."); // exception 1
}

if (!str.matches(".*[0-9]+.*")) {
throw new Exception("At least 1 digit."); // exception 2
}

foo 长度小于 5 个字符且不包含任何数字。但是当我运行这个程序时,只抛出异常1

如何抛出多个异常(同一类型)?或者我的方法被误导了,我应该采取不同的做法吗?

最佳答案

如果您正在检查可能问题的列表,并且需要报告所有问题,那么这样做可能会更简洁:

String str = "foo";

List<String> errors = new ArrayList<>();

if (str.length() < 5) {
errors.add("At least 5 characters."); // exception 1
}

if (!str.matches(".*[0-9]+.*")) {
errors.add("At least 1 digit."); // exception 2
}

// Check for more stuff

if (!errors.isEmpty()) {
throw new Exception("There are problem(s) found:\n" + String.join("\n", errors));
}

实际上,这与其他答案/评论提出的内容相同,但对于更复杂的场景,这种方法更加干净/整洁。

关于java - 一次抛出多个相同类型的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53272760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com