gpt4 book ai didi

Java异常: Should an exception contain its message inside or take it as parameter

转载 作者:行者123 更新时间:2023-12-01 08:01:09 27 4
gpt4 key购买 nike

每当我需要定义自定义异常时,如果它的消息不会根据上下文而改变,我会将消息放入该异常中。像这样:

public class UserNotFoundException extends RuntimeException {

public UserNotFoundException() {
super("User with given name is not found!");
}
}

而不是这个:

public class UserNotFoundException extends RuntimeException {

public UserNotFoundException(String message) {
super(message);
}
}

所以我不需要每次抛出此异常时都提供消息,我知道该消息在每个地方都应该相同。

您认为我的做法有问题吗?您更喜欢哪一个,为什么?

最佳答案

为什么不允许提供消息,而是提供默认值。

public class UserNotFoundException extends RuntimeException {

private static final String DEFAULT_MESSAGE = "User with given name is not found!";

public UserNotFoundException() {
this(DEFAULT_MESSAGE);
}

public UserNotFoundException(String message) {
super(message);
}
}

关于Java异常: Should an exception contain its message inside or take it as parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223496/

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