好了,这是不允许的:什么解决方法将实例变量传递给超级构造函数?
public class ServiceError extends RuntimeException {
private final UUID uuid = UUID.randomUUID();
public ServiceError(...) {
super("{" + uuid.toString() + "} " + ...); // error on reference to uuid
}
可是我该怎么做我想要什么?没有Exception.setMessage
,所以在super构造函数完成后我无法更改消息,我需要在构造函数中传递UUID。
覆盖getMessage()? –
重写'getMessage()'是一个非常具体的解决方案。有更多的一般可能性吗? –