gpt4 book ai didi

java - 将数据存储在自定义检查异常中是一个坏主意吗?

转载 作者:行者123 更新时间:2023-11-30 02:20:58 26 4
gpt4 key购买 nike

我有一个用例,我想在抛出异常时返回一些数据(对象)。我正在考虑将数据存储在我的自定义检查异常类中,并在异常在堆栈中的较高位置捕获时通过 getter 访问它。这被认为是一个坏主意吗?如果是这样,有哪些更好的选择?我已经看到向自定义异常发送相关消息,但还没有真正看到它被用作数据存储。

我确实偶然发现了Return a value AND throw an exception?答案之一是做类似的事情。我更多地考虑重载构造函数并提供对象,而不是将其作为另一个参数传递。这被认为是不好的编码实践吗?

  public class NameException extends Exception
{

private static final long serialVersionUID = -4983060448714460116L;
private Service externalService;


public NameException(final String message)
{
super(message);
}

public NameException()
{
}

public NameException(Service externalService)
{
this.externalService =externalService;
}

public Service getExternalService()
{
return externalService;
}
}

最佳答案

这是一个既定的模式。

例如,Spring 的 RestTemplate 的 HTTP 请求方法可能会抛出 RestClientResponseException,其中包含 byte[] getResponseBodyAsByteArray() 等方法,String getResponseBodyAsString(),HttpHeaders getResponseHeaders()String getStatusText() 等等。

关于java - 将数据存储在自定义检查异常中是一个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46833534/

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