我正在寻找一种方法来向最终用户提供多条异常信息。扩展 Exception 的明显解决方案以文本分布式吞吐量代码结束,例如
throw new MyException("Bad data", "The data you entered is incorrect", "http://www.example.com/moreinfo/baddata");
这很快变得不可行。
然后我查看了一种目录方法,但这种方法过于集中,每次抛出异常时都需要从一个文件跳到另一个文件。我现在正在考虑使用静态 ErrorInfoMap 类的混合方法,该类包含从键到更详细信息的映射。然后每个类都有一个包含其自己的错误映射的静态部分,因此以抛出上述异常的类为例,我将其更改为:
throw new MyException("Bad data");
在课程的底部会有类似的东西:
static {
ErrorInfoMap.put("Bad data", new ErrorInfo("The data you entered is incorrect", "http://www.example.com/moreinfo/baddata"));
// Information for other exceptions thrown by this class goes here
}
它允许异常处理程序在需要时获取附加信息。这是解决这个问题的好方法,还是有更好的方法来处理这个问题?