gpt4 book ai didi

java - 知道什么类实例化了一个类

转载 作者:行者123 更新时间:2023-11-30 05:39:19 26 4
gpt4 key购买 nike

基本上,我正在创建一个 API。我有多个端点,作为 Controller 实现。如果调用端点,它会实例化一个解析器类,添加一些选项(如允许的参数等)。

但是现在:如果解析器失败,我希望它呈现一个很好的错误,其中包含指向实际失败的端点文档的链接。

我使用 b4j,它在 Java 之上运行,因此任何相关的 Java 代码都应该很容易转换。在 b4j 中,任何端点都类似于一个类。

例如我有一个“getPOIByCity”端点。

如果用户调用该方法,需要提供城市参数。如果他/她省略了参数,我希望用户收到包含以下内容的错误:

1 required parameter missing: city

See the documentation: http://www.link.to/doc/getPOIByCity

我的第一个想法是进行某种堆栈跟踪以了解哪个类实例化了解析类,但我无法相信这是实现此目的的方法。

C# 具有稍微优雅一些​​的“来电者信息”属性。

关于如何做到这一点有什么见解吗?

最佳答案

正如另一个戴夫已经提到的,将异常委托(delegate)给调用类( Controller )并从那里显示错误会更有意义。

但是为了回答您的问题,您可以使用

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
String parentClass = stackTraceElements[2].getClassName();
Class cl = Class.forName(parentClass);

实现你想要的。

关于java - 知道什么类实例化了一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55992391/

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