J'ai un cas d'utilisation où je veux retourner des données (un objet) que je lance une exception. J'envisage de stocker les données dans ma classe d'exception vérifiée personnalisée et d'y accéder via un getter lorsque l'exception est interceptée plus haut dans la pile. Est-ce considéré comme une mauvaise idée? Si oui, quelles sont les meilleures alternatives? J'ai vu l'envoi de messages pertinents à l'exception personnalisée, mais je ne l'ai pas vraiment vu utilisé comme magasin de données.Est-ce une mauvaise idée de stocker des données dans une exception vérifiée personnalisée?
J'ai trébuché sur Return a value AND throw an exception? et l'une des réponses est de faire quelque chose de similaire. Je pensais plutôt à surcharger le constructeur et à fournir l'objet au lieu de le passer comme un autre argument. Est-ce considéré comme une mauvaise pratique de codage?
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;
}
}
Je pense que ce n'est pas une mauvaise idée, c'est en fonction de vos besoins. – assembler