基本上,我正在创建一个API。我有多个端点,实现为控制器。如果端点被调用,它将实例化一个解析器类,并添加一些选项(如允许的参数等)。
但是现在:如果解析器失败,我希望它呈现一个不错的错误,其中包含指向实际失败的终结点文档的链接。
我使用b4j,它可以在Java之上运行,因此任何相关的Java代码都应该易于转换。在b4j中,任何端点都类似于一个类。
例如 我有一个“ getPOIByCity”端点。
如果用户调用此方法,则必须输入city参数。如果他/她省略了该参数,我希望用户收到一个包含以下内容的错误:
缺少1个必需参数:城市
我的第一个想法是进行某种堆栈跟踪,以了解哪个类实例化了parses类,但是我不相信那是这样做的方法。
C#的“来电者信息”属性更为优雅。
任何有关如何执行此操作的见解?
答案 0 :(得分:1)
正如已经提到的另一个戴维,将异常委托给调用类(控制器)并从那里显示错误会更有意义。
但是只要给出问题的答案,就可以使用
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
String parentClass = stackTraceElements[2].getClassName();
Class cl = Class.forName(parentClass);
实现您想要的。