我觉得我最近不得不忘记编程。我一直在圈子里。
我想在使用AggregationOutput对象的方法中尝试catch。在捕获之后,我想回复我希望的是我正在寻找的领域的价值。这些值是我从聚合方法获得的值,除了AggregationOutput对象之外我找不到任何存储方式。
这样的事情:
List<DBObject> results = new ArrayList<DBObject>();
AggregationOutput output = new AggregationOutput(results);
try
{
或
AggregationOutput output = new AggregationOutput(null);
try
{
我无法创建AggregationOutput,而不会立即在其中存储聚合方法的值。像这样:
AggregationOutput output = collection.aggregate(pipe);
这至少反直觉,如果不是错误,这让我怀疑我错过了一个不允许我正确使用这种方法(聚合)的大概念。
我想知道该对象需要在它自己声明什么,所以我可以声明,进入try,实例化对象,然后在catch之后返回所述对象。
如果还有其他方法,不使用AggregationOutput,我也想知道,因为我找不到任何方法。
编辑:
@GET
@Path("/get/{item}/{id}")
@Produces(MediaType.APPLICATION_JSON)
public String get( @PathParam("item") String item, @PathParam("id") String id) {
AggregationOutput output;
try
{
List<DBObject> result = new ArrayList<DBObject>();
output = new AggregationOutput(result);
//here I would operate with the output, then return the result as I usually do, an array or some other object that can be transformed into json
答案 0 :(得分:0)
也许值得一试。
而不是
public String get()
{
try {}
catch() {}
}
尝试做
public String get() throws ExceptionName {}
//assuming you will use get in main
public static void main (String [] args)
{
try { get(); }
catch (ExceptionName e) {}
}
否则将代码链接到我,我会尝试在我的最后调试它。